Feat: Verbesserte visuelle Darstellung und Header-Anpassungen
- Dunklere Markierung für ausgewählte Artikel im dunklen Thema. - Header-Titel im TopAppBar verkleinert. - Icons in den TopAppBar-Aktionen verkleinert.
This commit is contained in:
@@ -135,7 +135,7 @@ fun AppShell(
|
||||
modifier = Modifier.fillMaxSize(),
|
||||
topBar = {
|
||||
TopAppBar(
|
||||
title = { Text(stringResource(id = currentScreen.titleRes)) },
|
||||
title = { Text(stringResource(id = currentScreen.titleRes), style = MaterialTheme.typography.titleMedium) },
|
||||
navigationIcon = {
|
||||
if (currentScreen == Screen.ShoppingListDetail) { // Show back button for detail screen
|
||||
IconButton(onClick = {
|
||||
|
||||
@@ -14,6 +14,7 @@ import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.heightIn
|
||||
import androidx.compose.foundation.layout.imePadding
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
@@ -100,7 +101,7 @@ fun ShoppingListDetailScreen(
|
||||
selectedItem = null // Exit selection mode after move
|
||||
}
|
||||
}) {
|
||||
Icon(Icons.Filled.ArrowUpward, contentDescription = stringResource(R.string.move_to_top))
|
||||
Icon(Icons.Filled.ArrowUpward, contentDescription = stringResource(R.string.move_to_top), modifier = Modifier.size(20.dp))
|
||||
}
|
||||
IconButton(onClick = {
|
||||
coroutineScope.launch {
|
||||
@@ -108,13 +109,13 @@ fun ShoppingListDetailScreen(
|
||||
selectedItem = null // Exit selection mode after move
|
||||
}
|
||||
}) {
|
||||
Icon(Icons.Filled.ArrowDownward, contentDescription = stringResource(R.string.move_to_bottom))
|
||||
Icon(Icons.Filled.ArrowDownward, contentDescription = stringResource(R.string.move_to_bottom), modifier = Modifier.size(20.dp))
|
||||
}
|
||||
IconButton(onClick = { showRenameDialog = true }) {
|
||||
Icon(Icons.Filled.Edit, contentDescription = stringResource(R.string.rename))
|
||||
Icon(Icons.Filled.Edit, contentDescription = stringResource(R.string.rename), modifier = Modifier.size(20.dp))
|
||||
}
|
||||
IconButton(onClick = { showQuantityDialog = true }) {
|
||||
Icon(Icons.Filled.LooksOne, contentDescription = stringResource(R.string.change_quantity))
|
||||
Icon(Icons.Filled.LooksOne, contentDescription = stringResource(R.string.change_quantity), modifier = Modifier.size(20.dp))
|
||||
}
|
||||
}
|
||||
)
|
||||
@@ -300,7 +301,7 @@ fun ShoppingListDetailScreen(
|
||||
val isSelected = item == selectedItem
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.background(if (isSelected) Color.LightGray else Color.Transparent)
|
||||
.background(if (isSelected) MaterialTheme.colorScheme.primaryContainer else Color.Transparent)
|
||||
) {
|
||||
Row(
|
||||
modifier = Modifier
|
||||
|
||||
@@ -8,4 +8,6 @@ val Pink80 = Color(0xFFEFB8C8)
|
||||
|
||||
val Purple40 = Color(0xFF6650a4)
|
||||
val PurpleGrey40 = Color(0xFF625b71)
|
||||
val Pink40 = Color(0xFF7D5260)
|
||||
val Pink40 = Color(0xFF7D5260)
|
||||
|
||||
val DarkPrimaryContainer = Color(0xFF6975BC)
|
||||
@@ -14,7 +14,8 @@ import androidx.compose.ui.platform.LocalContext
|
||||
private val DarkColorScheme = darkColorScheme(
|
||||
primary = Purple80,
|
||||
secondary = PurpleGrey80,
|
||||
tertiary = Pink80
|
||||
tertiary = Pink80,
|
||||
primaryContainer = DarkPrimaryContainer
|
||||
)
|
||||
|
||||
private val LightColorScheme = lightColorScheme(
|
||||
@@ -37,7 +38,7 @@ private val LightColorScheme = lightColorScheme(
|
||||
fun NoteshopTheme(
|
||||
darkTheme: Boolean = isSystemInDarkTheme(),
|
||||
// Dynamic color is available on Android 12+
|
||||
dynamicColor: Boolean = true,
|
||||
dynamicColor: Boolean = false,
|
||||
content: @Composable () -> Unit
|
||||
) {
|
||||
val colorScheme = when {
|
||||
|
||||
Reference in New Issue
Block a user