Move theme to top composable. Increase button size.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2023-01-20 23:14:59 +01:00
parent 45746aef0b
commit c4a552ad8c
2 changed files with 57 additions and 58 deletions

View File

@@ -54,7 +54,11 @@ class MainActivity : BaseActivity() {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContent { setContent {
NavigationDrawer() AppTheme() {
val systemUiController = rememberSystemUiController()
systemUiController.setStatusBarColor(MaterialTheme.colorScheme.background)
NavigationDrawer()
}
} }
} }
@@ -66,59 +70,54 @@ class MainActivity : BaseActivity() {
navController: NavHostController navController: NavHostController
) { ) {
AppTheme() { Scaffold(
val systemUiController = rememberSystemUiController() topBar = {
systemUiController.setStatusBarColor(MaterialTheme.colorScheme.background) TopBar(
mainViewModel.topBarTitle,
mainViewModel.topBarIcon,
{ mainViewModel.onNavigateClicked() },
mainViewModel.topBarActions
)
}) {
Scaffold( NavHost(
topBar = { navController = navController,
TopBar( startDestination = "counter",
mainViewModel.topBarTitle, modifier = Modifier.padding(it)
mainViewModel.topBarIcon, ) {
{ mainViewModel.onNavigateClicked() }, composable("counter") {
mainViewModel.topBarActions Counter(counterViewModel)
) mainViewModel.topBarActions = (listOf(
}) { TopBarAction(
Icons.Outlined.Undo,
mainViewModel.isUndoActionActive
) { mainViewModel.undoLastRound() },
TopBarAction(
Icons.Outlined.Redo,
mainViewModel.isRedoActionActive
) { mainViewModel.redoLastRound() }
NavHost( ))
navController = navController, mainViewModel.topBarIcon = Icons.Outlined.Menu
startDestination = "counter", mainViewModel.topBarTitle = stringResource(R.string.app_name)
modifier = Modifier.padding(it) mainViewModel.topBarNavigationAction =
) { NavigationAction { scope.launch { drawerState.open() } }
composable("counter") { }
Counter(counterViewModel) composable("history") {
mainViewModel.topBarActions = (listOf( HistoryList(historyViewModel)
TopBarAction( mainViewModel.topBarActions = emptyList()
Icons.Outlined.Undo, mainViewModel.topBarIcon = Icons.Outlined.ArrowBack
mainViewModel.isUndoActionActive mainViewModel.topBarTitle = stringResource(R.string.menu_history)
) { mainViewModel.undoLastRound() }, mainViewModel.topBarNavigationAction =
TopBarAction( NavigationAction { navController.navigate("counter") }
Icons.Outlined.Redo, }
mainViewModel.isRedoActionActive composable("settings") {
) { mainViewModel.redoLastRound() } SettingsView(settingsViewModel)
mainViewModel.topBarActions = emptyList()
)) mainViewModel.topBarIcon = Icons.Outlined.ArrowBack
mainViewModel.topBarIcon = Icons.Outlined.Menu mainViewModel.topBarTitle = stringResource(R.string.menu_settings)
mainViewModel.topBarTitle = stringResource(R.string.app_name) mainViewModel.topBarNavigationAction =
mainViewModel.topBarNavigationAction = NavigationAction { navController.navigate("counter") }
NavigationAction { scope.launch { drawerState.open() } }
}
composable("history") {
HistoryList(historyViewModel)
mainViewModel.topBarActions = emptyList()
mainViewModel.topBarIcon = Icons.Outlined.ArrowBack
mainViewModel.topBarTitle = stringResource(R.string.menu_history)
mainViewModel.topBarNavigationAction =
NavigationAction { navController.navigate("counter") }
}
composable("settings") {
SettingsView(settingsViewModel)
mainViewModel.topBarActions = emptyList()
mainViewModel.topBarIcon = Icons.Outlined.ArrowBack
mainViewModel.topBarTitle = stringResource(R.string.menu_settings)
mainViewModel.topBarNavigationAction =
NavigationAction { navController.navigate("counter") }
}
} }
} }
} }

View File

@@ -1,9 +1,7 @@
package me.zobrist.tichucounter.ui.counter package me.zobrist.tichucounter.ui.counter
import android.content.res.Configuration import android.content.res.Configuration
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.*
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Backspace import androidx.compose.material.icons.outlined.Backspace
import androidx.compose.material.icons.outlined.Check import androidx.compose.material.icons.outlined.Check
@@ -11,6 +9,7 @@ import androidx.compose.material3.*
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.ExperimentalComposeUiApi
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.scale
import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.focus.onFocusChanged
@@ -18,6 +17,7 @@ import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import me.zobrist.tichucounter.ui.AppTheme import me.zobrist.tichucounter.ui.AppTheme
@@ -158,7 +158,7 @@ fun KeyboardView(
@Composable @Composable
fun KeyboardTextButton(text: String, onClicked: () -> Unit) { fun KeyboardTextButton(text: String, onClicked: () -> Unit) {
ElevatedButton( ElevatedButton(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth().height(50.dp).padding(2.dp),
onClick = { onClicked() }, onClick = { onClicked() },
) { Text(text) } ) { Text(text) }
} }
@@ -168,12 +168,12 @@ fun KeyboardIconButton(icon: ImageVector, enabled: Boolean = true, onClicked: ()
ElevatedButton( ElevatedButton(
onClick = { onClicked() }, onClick = { onClicked() },
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth().height(50.dp).padding(2.dp),,
enabled = enabled, enabled = enabled,
) { ) {
Icon( Icon(
icon, icon,
contentDescription = null contentDescription = null,
) )
} }
} }