AccountsScreen: move navigation drawer to foreground so that it overlays FABs when open (#765)

Signed-off-by: Arnau Mora Gras <arnyminerz@proton.me>
This commit is contained in:
Arnau Mora 2024-04-30 14:20:52 +02:00 committed by GitHub
parent 0a4a06a50a
commit 81834ca0db
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -139,76 +139,76 @@ fun AccountsScreen(
val snackbarHostState = remember { SnackbarHostState() } val snackbarHostState = remember { SnackbarHostState() }
AppTheme { AppTheme {
Scaffold( ModalNavigationDrawer(
topBar = { drawerState = drawerState,
TopAppBar( drawerContent = {
navigationIcon = { ModalDrawerSheet {
IconToggleButton(false, onCheckedChange = { openDrawer -> accountsDrawerHandler.AccountsDrawer(
snackbarHostState = snackbarHostState,
onCloseDrawer = {
scope.launch { scope.launch {
if (openDrawer) drawerState.close()
drawerState.open()
else
drawerState.close()
} }
}) {
Icon(
Icons.Filled.Menu,
stringResource(androidx.compose.ui.R.string.navigation_menu)
)
}
},
title = {
Text(stringResource(R.string.app_name))
}
)
},
floatingActionButton = {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
if (showSyncAll)
FloatingActionButton(
containerColor = MaterialTheme.colorScheme.secondaryContainer,
contentColor = MaterialTheme.colorScheme.onSecondaryContainer,
onClick = onSyncAll
) {
Icon(
Icons.Default.Sync,
contentDescription = stringResource(R.string.accounts_sync_all)
)
}
if (showAddAccount == AccountsModel.FABStyle.WithText)
ExtendedFloatingActionButton(
text = { Text(stringResource(R.string.login_create_account)) },
icon = { Icon(Icons.Filled.Add, stringResource(R.string.login_create_account)) },
onClick = onAddAccount
)
else if (showAddAccount == AccountsModel.FABStyle.Standard)
FloatingActionButton(
onClick = onAddAccount,
modifier = Modifier.padding(top = 24.dp)
) {
Icon(Icons.Filled.Add, stringResource(R.string.login_create_account))
} }
)
} }
}, }
snackbarHost = { SnackbarHost(snackbarHostState) } ) {
) { padding -> Scaffold(
Box(Modifier.padding(padding)) { topBar = {
ModalNavigationDrawer( TopAppBar(
drawerState = drawerState, navigationIcon = {
drawerContent = { IconToggleButton(false, onCheckedChange = { openDrawer ->
ModalDrawerSheet { scope.launch {
accountsDrawerHandler.AccountsDrawer( if (openDrawer)
snackbarHostState = snackbarHostState, drawerState.open()
onCloseDrawer = { else
scope.launch {
drawerState.close() drawerState.close()
}
} }
) }) {
Icon(
Icons.Filled.Menu,
stringResource(androidx.compose.ui.R.string.navigation_menu)
)
}
},
title = {
Text(stringResource(R.string.app_name))
} }
)
},
floatingActionButton = {
Column(horizontalAlignment = Alignment.CenterHorizontally) {
if (showSyncAll)
FloatingActionButton(
containerColor = MaterialTheme.colorScheme.secondaryContainer,
contentColor = MaterialTheme.colorScheme.onSecondaryContainer,
onClick = onSyncAll
) {
Icon(
Icons.Default.Sync,
contentDescription = stringResource(R.string.accounts_sync_all)
)
}
if (showAddAccount == AccountsModel.FABStyle.WithText)
ExtendedFloatingActionButton(
text = { Text(stringResource(R.string.login_create_account)) },
icon = { Icon(Icons.Filled.Add, stringResource(R.string.login_create_account)) },
onClick = onAddAccount
)
else if (showAddAccount == AccountsModel.FABStyle.Standard)
FloatingActionButton(
onClick = onAddAccount,
modifier = Modifier.padding(top = 24.dp)
) {
Icon(Icons.Filled.Add, stringResource(R.string.login_create_account))
}
} }
) { },
snackbarHost = { SnackbarHost(snackbarHostState) }
) { padding ->
Box(Modifier.padding(padding)) {
Box( Box(
Modifier Modifier
.fillMaxSize() .fillMaxSize()