Remove settings from drawer

This commit is contained in:
sadellie 2023-08-03 14:41:59 +03:00
parent 588474529f
commit 4962b5c86a
8 changed files with 11 additions and 49 deletions

View File

@ -77,7 +77,7 @@ internal fun UnittoApp(uiPrefs: UIPreferences) {
val shortcutsScope = rememberCoroutineScope() val shortcutsScope = rememberCoroutineScope()
val mainTabs by remember(uiPrefs.enableToolsExperiment) { val tabs by remember(uiPrefs.enableToolsExperiment) {
derivedStateOf { derivedStateOf {
if (uiPrefs.enableToolsExperiment) { if (uiPrefs.enableToolsExperiment) {
listOf( listOf(
@ -90,7 +90,6 @@ internal fun UnittoApp(uiPrefs: UIPreferences) {
} }
} }
} }
val additionalTabs = listOf(DrawerItems.Settings)
val navBackStackEntry by navController.currentBackStackEntryAsState() val navBackStackEntry by navController.currentBackStackEntryAsState()
val gesturesEnabled: Boolean by remember(navBackStackEntry?.destination) { val gesturesEnabled: Boolean by remember(navBackStackEntry?.destination) {
@ -113,8 +112,7 @@ internal fun UnittoApp(uiPrefs: UIPreferences) {
drawer = { drawer = {
UnittoDrawerSheet( UnittoDrawerSheet(
modifier = Modifier, modifier = Modifier,
mainTabs = mainTabs, tabs = tabs,
additionalTabs = additionalTabs,
currentDestination = navBackStackEntry?.destination?.route currentDestination = navBackStackEntry?.destination?.route
) { destination -> ) { destination ->
drawerScope.launch { drawerState.close() } drawerScope.launch { drawerState.close() }

View File

@ -79,8 +79,7 @@ internal fun UnittoNavigation(
settingGraph( settingGraph(
themmoController = themmoController, themmoController = themmoController,
navController = navController, navController = navController
menuButtonClick = openDrawer
) )
calculatorGraph( calculatorGraph(

View File

@ -116,6 +116,5 @@ val TOP_LEVEL_START_ROUTES by lazy {
CALCULATOR_START, CALCULATOR_START,
DATE_CALCULATOR_START, DATE_CALCULATOR_START,
TIME_ZONE_START, TIME_ZONE_START,
SETTINGS_START,
) )
} }

View File

@ -19,7 +19,6 @@
package com.sadellie.unitto.core.ui.common package com.sadellie.unitto.core.ui.common
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.material3.HorizontalDivider
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ModalDrawerSheet import androidx.compose.material3.ModalDrawerSheet
import androidx.compose.material3.NavigationDrawerItemDefaults import androidx.compose.material3.NavigationDrawerItemDefaults
@ -38,8 +37,7 @@ import com.sadellie.unitto.core.ui.model.DrawerItems
@Composable @Composable
fun UnittoDrawerSheet( fun UnittoDrawerSheet(
modifier: Modifier, modifier: Modifier,
mainTabs: List<DrawerItems>, tabs: List<DrawerItems>,
additionalTabs: List<DrawerItems>,
currentDestination: String?, currentDestination: String?,
onItemClick: (TopLevelDestinations) -> Unit onItemClick: (TopLevelDestinations) -> Unit
) { ) {
@ -53,20 +51,7 @@ fun UnittoDrawerSheet(
color = MaterialTheme.colorScheme.primary color = MaterialTheme.colorScheme.primary
) )
mainTabs.forEach { drawerItem -> tabs.forEach { drawerItem ->
val selected = drawerItem.destination.start == currentDestination
UnittoDrawerItem(
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding),
destination = drawerItem.destination,
icon = if (selected) drawerItem.selectedIcon else drawerItem.defaultIcon,
selected = selected,
onClick = onItemClick
)
}
HorizontalDivider(Modifier.padding(28.dp, 16.dp))
additionalTabs.forEach { drawerItem ->
val selected = drawerItem.destination.start == currentDestination val selected = drawerItem.destination.start == currentDestination
UnittoDrawerItem( UnittoDrawerItem(
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding), modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding),
@ -84,12 +69,7 @@ fun UnittoDrawerSheet(
private fun PreviewUnittoDrawerSheet() { private fun PreviewUnittoDrawerSheet() {
UnittoDrawerSheet( UnittoDrawerSheet(
modifier = Modifier, modifier = Modifier,
mainTabs = listOf( tabs = listOf(
DrawerItems.Calculator,
DrawerItems.Calculator,
DrawerItems.Calculator,
),
additionalTabs = listOf(
DrawerItems.Calculator, DrawerItems.Calculator,
DrawerItems.Calculator, DrawerItems.Calculator,
DrawerItems.Calculator, DrawerItems.Calculator,

View File

@ -163,12 +163,7 @@ private fun PreviewUnittoModalNavigationDrawer() {
drawer = { drawer = {
UnittoDrawerSheet( UnittoDrawerSheet(
modifier = Modifier, modifier = Modifier,
mainTabs = listOf( tabs = listOf(
DrawerItems.Calculator,
DrawerItems.Calculator,
DrawerItems.Calculator,
),
additionalTabs = listOf(
DrawerItems.Calculator, DrawerItems.Calculator,
DrawerItems.Calculator, DrawerItems.Calculator,
DrawerItems.Calculator, DrawerItems.Calculator,

View File

@ -22,12 +22,10 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Calculate import androidx.compose.material.icons.filled.Calculate
import androidx.compose.material.icons.filled.Event import androidx.compose.material.icons.filled.Event
import androidx.compose.material.icons.filled.Schedule import androidx.compose.material.icons.filled.Schedule
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material.icons.filled.SwapHoriz import androidx.compose.material.icons.filled.SwapHoriz
import androidx.compose.material.icons.outlined.Calculate import androidx.compose.material.icons.outlined.Calculate
import androidx.compose.material.icons.outlined.Event import androidx.compose.material.icons.outlined.Event
import androidx.compose.material.icons.outlined.Schedule import androidx.compose.material.icons.outlined.Schedule
import androidx.compose.material.icons.outlined.Settings
import androidx.compose.material.icons.outlined.SwapHoriz import androidx.compose.material.icons.outlined.SwapHoriz
import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.graphics.vector.ImageVector
import com.sadellie.unitto.core.base.TopLevelDestinations import com.sadellie.unitto.core.base.TopLevelDestinations
@ -60,10 +58,4 @@ sealed class DrawerItems(
selectedIcon = Icons.Filled.Schedule, selectedIcon = Icons.Filled.Schedule,
defaultIcon = Icons.Outlined.Schedule defaultIcon = Icons.Outlined.Schedule
) )
data object Settings : DrawerItems(
destination = TopLevelDestinations.Settings,
selectedIcon = Icons.Filled.Settings,
defaultIcon = Icons.Outlined.Settings
)
} }

View File

@ -48,7 +48,7 @@ import com.sadellie.unitto.core.base.BuildConfig
import com.sadellie.unitto.core.base.R import com.sadellie.unitto.core.base.R
import com.sadellie.unitto.core.base.TOP_LEVEL_GRAPH_ROUTES import com.sadellie.unitto.core.base.TOP_LEVEL_GRAPH_ROUTES
import com.sadellie.unitto.core.ui.common.Header import com.sadellie.unitto.core.ui.common.Header
import com.sadellie.unitto.core.ui.common.MenuButton import com.sadellie.unitto.core.ui.common.NavigateUpButton
import com.sadellie.unitto.core.ui.common.UnittoListItem import com.sadellie.unitto.core.ui.common.UnittoListItem
import com.sadellie.unitto.core.ui.common.UnittoScreenWithLargeTopBar import com.sadellie.unitto.core.ui.common.UnittoScreenWithLargeTopBar
import com.sadellie.unitto.core.ui.openLink import com.sadellie.unitto.core.ui.openLink
@ -73,7 +73,7 @@ internal fun SettingsScreen(
UnittoScreenWithLargeTopBar( UnittoScreenWithLargeTopBar(
title = stringResource(R.string.settings_screen), title = stringResource(R.string.settings_screen),
navigationIcon = { MenuButton(menuButtonClick) } navigationIcon = { NavigateUpButton(menuButtonClick) }
) { padding -> ) { padding ->
LazyColumn(contentPadding = padding) { LazyColumn(contentPadding = padding) {

View File

@ -50,13 +50,12 @@ fun NavController.navigateToUnitGroups() {
fun NavGraphBuilder.settingGraph( fun NavGraphBuilder.settingGraph(
themmoController: ThemmoController, themmoController: ThemmoController,
navController: NavHostController, navController: NavHostController
menuButtonClick: () -> Unit
) { ) {
navigation(start, graph) { navigation(start, graph) {
composable(start) { composable(start) {
SettingsScreen( SettingsScreen(
menuButtonClick = menuButtonClick, menuButtonClick = navController::navigateUp,
navControllerAction = navController::navigate navControllerAction = navController::navigate
) )
} }