Rename screen to DrawerItem
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-01-28 10:25:07 +01:00
parent e1e25ff607
commit ae0f85bec0
5 changed files with 21 additions and 23 deletions

View File

@@ -24,9 +24,9 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import me.zobrist.tichucounter.domain.* import me.zobrist.tichucounter.domain.*
import me.zobrist.tichucounter.ui.AppTheme import me.zobrist.tichucounter.ui.AppTheme
import me.zobrist.tichucounter.ui.DrawerContent import me.zobrist.tichucounter.ui.layout.DrawerContent
import me.zobrist.tichucounter.ui.MainViewModel import me.zobrist.tichucounter.ui.MainViewModel
import me.zobrist.tichucounter.ui.TopBar import me.zobrist.tichucounter.ui.layout.TopBar
import me.zobrist.tichucounter.ui.composables.DropDownMenu import me.zobrist.tichucounter.ui.composables.DropDownMenu
import me.zobrist.tichucounter.ui.counter.* import me.zobrist.tichucounter.ui.counter.*
import me.zobrist.tichucounter.ui.history.HistoryList import me.zobrist.tichucounter.ui.history.HistoryList
@@ -95,9 +95,9 @@ class MainActivity : AppCompatActivity(), ISettingsChangeListener {
val navController = rememberNavController() val navController = rememberNavController()
val items = listOf( val items = listOf(
Screen(Route.COUNTER, Icons.Outlined.Calculate, R.string.app_name), DrawerItem(Route.COUNTER, Icons.Outlined.Calculate, stringResource(R.string.app_name)),
Screen(Route.HISTORY, Icons.Outlined.List, R.string.menu_history), DrawerItem(Route.HISTORY, Icons.Outlined.List, stringResource(R.string.menu_history)),
Screen(Route.SETTINGS, Icons.Outlined.Settings, R.string.menu_settings) DrawerItem(Route.SETTINGS, Icons.Outlined.Settings, stringResource(R.string.menu_settings))
) )
val navBackStackEntry by navController.currentBackStackEntryAsState() val navBackStackEntry by navController.currentBackStackEntryAsState()
@@ -109,8 +109,8 @@ class MainActivity : AppCompatActivity(), ISettingsChangeListener {
gesturesEnabled = drawerState.isOpen, gesturesEnabled = drawerState.isOpen,
drawerContent = { drawerContent = {
DrawerContent( DrawerContent(
screens = items, drawerItems = items,
selectedScreen = items.first { it.route == currentDestination }) { selectedDrawerItem = items.first { it.route == currentDestination }) {
scope.launch { scope.launch {
drawerState.close() drawerState.close()

View File

@@ -0,0 +1,5 @@
package me.zobrist.tichucounter.domain
import androidx.compose.ui.graphics.vector.ImageVector
data class DrawerItem(val route: Route, val menuIcon: ImageVector, val menuName: String)

View File

@@ -1,6 +0,0 @@
package me.zobrist.tichucounter.domain
import androidx.annotation.StringRes
import androidx.compose.ui.graphics.vector.ImageVector
class Screen(val route: Route, val icon: ImageVector, @StringRes val resourceId: Int)

View File

@@ -1,4 +1,4 @@
package me.zobrist.tichucounter.ui package me.zobrist.tichucounter.ui.layout
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
@@ -6,16 +6,15 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.material3.* import androidx.compose.material3.*
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import me.zobrist.tichucounter.domain.Route import me.zobrist.tichucounter.domain.Route
import me.zobrist.tichucounter.domain.Screen import me.zobrist.tichucounter.domain.DrawerItem
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@Composable @Composable
fun DrawerContent( fun DrawerContent(
screens: List<Screen>, drawerItems: List<DrawerItem>,
selectedScreen: Screen, selectedDrawerItem: DrawerItem,
onElementClicked: (Route) -> Unit onElementClicked: (Route) -> Unit
) { ) {
@@ -23,11 +22,11 @@ fun DrawerContent(
Spacer(Modifier.height(20.dp)) Spacer(Modifier.height(20.dp))
screens.forEach { screen -> drawerItems.forEach { screen ->
NavigationDrawerItem( NavigationDrawerItem(
icon = { Icon(screen.icon, contentDescription = null) }, icon = { Icon(screen.menuIcon, contentDescription = null) },
label = { Text(stringResource(screen.resourceId)) }, label = { Text(screen.menuName) },
selected = screen == selectedScreen, selected = screen == selectedDrawerItem,
onClick = { onElementClicked(screen.route) }, onClick = { onElementClicked(screen.route) },
modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding) modifier = Modifier.padding(NavigationDrawerItemDefaults.ItemPadding)
) )

View File

@@ -1,4 +1,4 @@
package me.zobrist.tichucounter.ui package me.zobrist.tichucounter.ui.layout
import androidx.compose.material3.* import androidx.compose.material3.*
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable