From 4962b5c86ae69ed48e1d963bdbcf83a70522a672 Mon Sep 17 00:00:00 2001 From: sadellie Date: Thu, 3 Aug 2023 14:41:59 +0300 Subject: [PATCH] Remove settings from drawer --- .../java/com/sadellie/unitto/UnittoApp.kt | 6 ++--- .../com/sadellie/unitto/UnittoNavigation.kt | 3 +-- .../unitto/core/base/TopLevelDestinations.kt | 1 - .../core/ui/common/UnittoDrawerSheet.kt | 26 +++---------------- .../core/ui/common/UnittoNavigationDrawer.kt | 7 +---- .../unitto/core/ui/model/DrawerItems.kt | 8 ------ .../unitto/feature/settings/SettingsScreen.kt | 4 +-- .../settings/navigation/SettingsNavigation.kt | 5 ++-- 8 files changed, 11 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/com/sadellie/unitto/UnittoApp.kt b/app/src/main/java/com/sadellie/unitto/UnittoApp.kt index ce65f29c..5567445b 100644 --- a/app/src/main/java/com/sadellie/unitto/UnittoApp.kt +++ b/app/src/main/java/com/sadellie/unitto/UnittoApp.kt @@ -77,7 +77,7 @@ internal fun UnittoApp(uiPrefs: UIPreferences) { val shortcutsScope = rememberCoroutineScope() - val mainTabs by remember(uiPrefs.enableToolsExperiment) { + val tabs by remember(uiPrefs.enableToolsExperiment) { derivedStateOf { if (uiPrefs.enableToolsExperiment) { listOf( @@ -90,7 +90,6 @@ internal fun UnittoApp(uiPrefs: UIPreferences) { } } } - val additionalTabs = listOf(DrawerItems.Settings) val navBackStackEntry by navController.currentBackStackEntryAsState() val gesturesEnabled: Boolean by remember(navBackStackEntry?.destination) { @@ -113,8 +112,7 @@ internal fun UnittoApp(uiPrefs: UIPreferences) { drawer = { UnittoDrawerSheet( modifier = Modifier, - mainTabs = mainTabs, - additionalTabs = additionalTabs, + tabs = tabs, currentDestination = navBackStackEntry?.destination?.route ) { destination -> drawerScope.launch { drawerState.close() } diff --git a/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt b/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt index 36b2f469..69ab8f48 100644 --- a/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt +++ b/app/src/main/java/com/sadellie/unitto/UnittoNavigation.kt @@ -79,8 +79,7 @@ internal fun UnittoNavigation( settingGraph( themmoController = themmoController, - navController = navController, - menuButtonClick = openDrawer + navController = navController ) calculatorGraph( diff --git a/core/base/src/main/java/com/sadellie/unitto/core/base/TopLevelDestinations.kt b/core/base/src/main/java/com/sadellie/unitto/core/base/TopLevelDestinations.kt index dfaaeb4f..30c802c9 100644 --- a/core/base/src/main/java/com/sadellie/unitto/core/base/TopLevelDestinations.kt +++ b/core/base/src/main/java/com/sadellie/unitto/core/base/TopLevelDestinations.kt @@ -116,6 +116,5 @@ val TOP_LEVEL_START_ROUTES by lazy { CALCULATOR_START, DATE_CALCULATOR_START, TIME_ZONE_START, - SETTINGS_START, ) } diff --git a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt index 0adcd7f8..0270eba3 100644 --- a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt +++ b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoDrawerSheet.kt @@ -19,7 +19,6 @@ package com.sadellie.unitto.core.ui.common import androidx.compose.foundation.layout.padding -import androidx.compose.material3.HorizontalDivider import androidx.compose.material3.MaterialTheme import androidx.compose.material3.ModalDrawerSheet import androidx.compose.material3.NavigationDrawerItemDefaults @@ -38,8 +37,7 @@ import com.sadellie.unitto.core.ui.model.DrawerItems @Composable fun UnittoDrawerSheet( modifier: Modifier, - mainTabs: List, - additionalTabs: List, + tabs: List, currentDestination: String?, onItemClick: (TopLevelDestinations) -> Unit ) { @@ -53,20 +51,7 @@ fun UnittoDrawerSheet( color = MaterialTheme.colorScheme.primary ) - mainTabs.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 -> + tabs.forEach { drawerItem -> val selected = drawerItem.destination.start == currentDestination UnittoDrawerItem( modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding), @@ -84,12 +69,7 @@ fun UnittoDrawerSheet( private fun PreviewUnittoDrawerSheet() { UnittoDrawerSheet( modifier = Modifier, - mainTabs = listOf( - DrawerItems.Calculator, - DrawerItems.Calculator, - DrawerItems.Calculator, - ), - additionalTabs = listOf( + tabs = listOf( DrawerItems.Calculator, DrawerItems.Calculator, DrawerItems.Calculator, diff --git a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoNavigationDrawer.kt b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoNavigationDrawer.kt index 93fdbc06..c3a0fcd1 100644 --- a/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoNavigationDrawer.kt +++ b/core/ui/src/main/java/com/sadellie/unitto/core/ui/common/UnittoNavigationDrawer.kt @@ -163,12 +163,7 @@ private fun PreviewUnittoModalNavigationDrawer() { drawer = { UnittoDrawerSheet( modifier = Modifier, - mainTabs = listOf( - DrawerItems.Calculator, - DrawerItems.Calculator, - DrawerItems.Calculator, - ), - additionalTabs = listOf( + tabs = listOf( DrawerItems.Calculator, DrawerItems.Calculator, DrawerItems.Calculator, diff --git a/core/ui/src/main/java/com/sadellie/unitto/core/ui/model/DrawerItems.kt b/core/ui/src/main/java/com/sadellie/unitto/core/ui/model/DrawerItems.kt index 5411ae0b..b22bad75 100644 --- a/core/ui/src/main/java/com/sadellie/unitto/core/ui/model/DrawerItems.kt +++ b/core/ui/src/main/java/com/sadellie/unitto/core/ui/model/DrawerItems.kt @@ -22,12 +22,10 @@ import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Calculate import androidx.compose.material.icons.filled.Event 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.outlined.Calculate import androidx.compose.material.icons.outlined.Event import androidx.compose.material.icons.outlined.Schedule -import androidx.compose.material.icons.outlined.Settings import androidx.compose.material.icons.outlined.SwapHoriz import androidx.compose.ui.graphics.vector.ImageVector import com.sadellie.unitto.core.base.TopLevelDestinations @@ -60,10 +58,4 @@ sealed class DrawerItems( selectedIcon = Icons.Filled.Schedule, defaultIcon = Icons.Outlined.Schedule ) - - data object Settings : DrawerItems( - destination = TopLevelDestinations.Settings, - selectedIcon = Icons.Filled.Settings, - defaultIcon = Icons.Outlined.Settings - ) } diff --git a/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/SettingsScreen.kt b/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/SettingsScreen.kt index b9294ae1..1e4276c4 100644 --- a/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/SettingsScreen.kt +++ b/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/SettingsScreen.kt @@ -48,7 +48,7 @@ import com.sadellie.unitto.core.base.BuildConfig import com.sadellie.unitto.core.base.R 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.MenuButton +import com.sadellie.unitto.core.ui.common.NavigateUpButton import com.sadellie.unitto.core.ui.common.UnittoListItem import com.sadellie.unitto.core.ui.common.UnittoScreenWithLargeTopBar import com.sadellie.unitto.core.ui.openLink @@ -73,7 +73,7 @@ internal fun SettingsScreen( UnittoScreenWithLargeTopBar( title = stringResource(R.string.settings_screen), - navigationIcon = { MenuButton(menuButtonClick) } + navigationIcon = { NavigateUpButton(menuButtonClick) } ) { padding -> LazyColumn(contentPadding = padding) { diff --git a/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/navigation/SettingsNavigation.kt b/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/navigation/SettingsNavigation.kt index caa54616..16b5d6f2 100644 --- a/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/navigation/SettingsNavigation.kt +++ b/feature/settings/src/main/java/com/sadellie/unitto/feature/settings/navigation/SettingsNavigation.kt @@ -50,13 +50,12 @@ fun NavController.navigateToUnitGroups() { fun NavGraphBuilder.settingGraph( themmoController: ThemmoController, - navController: NavHostController, - menuButtonClick: () -> Unit + navController: NavHostController ) { navigation(start, graph) { composable(start) { SettingsScreen( - menuButtonClick = menuButtonClick, + menuButtonClick = navController::navigateUp, navControllerAction = navController::navigate ) }