#52 Move drawer to toolbar
This commit is contained in:
parent
85e1b55507
commit
307f9e0d70
7 changed files with 88 additions and 51 deletions
|
@ -16,7 +16,7 @@ import androidx.navigation.NavHostController
|
|||
import androidx.navigation.compose.NavHost
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.compose.rememberNavController
|
||||
import be.ugent.sel.studeez.common.composable.Drawer
|
||||
import be.ugent.sel.studeez.screens.drawer.Drawer
|
||||
import be.ugent.sel.studeez.common.snackbar.SnackbarManager
|
||||
import be.ugent.sel.studeez.navigation.StudeezDestinations
|
||||
import be.ugent.sel.studeez.screens.home.HomeScreen
|
||||
|
@ -32,29 +32,24 @@ fun StudeezApp() {
|
|||
Surface(color = MaterialTheme.colors.background) {
|
||||
val appState = rememberAppState()
|
||||
|
||||
ModalDrawer(
|
||||
drawerContent = { Drawer({ route, popUp -> appState.navigateAndPopUp(route, popUp) }) },
|
||||
drawerState = appState.drawerState
|
||||
) {
|
||||
Scaffold(
|
||||
snackbarHost = {
|
||||
SnackbarHost(
|
||||
hostState = it,
|
||||
modifier = Modifier.padding(8.dp),
|
||||
snackbar = { snackbarData ->
|
||||
Snackbar(snackbarData, contentColor = MaterialTheme.colors.onPrimary)
|
||||
}
|
||||
)
|
||||
},
|
||||
scaffoldState = appState.scaffoldState
|
||||
) { innerPaddingModifier ->
|
||||
NavHost(
|
||||
navController = appState.navController,
|
||||
startDestination = StudeezDestinations.SPLASH_SCREEN,
|
||||
modifier = Modifier.padding(innerPaddingModifier)
|
||||
) {
|
||||
studeezGraph(appState)
|
||||
}
|
||||
Scaffold(
|
||||
snackbarHost = {
|
||||
SnackbarHost(
|
||||
hostState = it,
|
||||
modifier = Modifier.padding(8.dp),
|
||||
snackbar = { snackbarData ->
|
||||
Snackbar(snackbarData, contentColor = MaterialTheme.colors.onPrimary)
|
||||
}
|
||||
)
|
||||
},
|
||||
scaffoldState = appState.scaffoldState
|
||||
) { innerPaddingModifier ->
|
||||
NavHost(
|
||||
navController = appState.navController,
|
||||
startDestination = StudeezDestinations.SPLASH_SCREEN,
|
||||
modifier = Modifier.padding(innerPaddingModifier)
|
||||
) {
|
||||
studeezGraph(appState)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -64,14 +59,13 @@ fun StudeezApp() {
|
|||
@Composable
|
||||
fun rememberAppState(
|
||||
scaffoldState: ScaffoldState = rememberScaffoldState(),
|
||||
drawerState: DrawerState = rememberDrawerState(initialValue = DrawerValue.Closed),
|
||||
navController: NavHostController = rememberNavController(),
|
||||
snackbarManager: SnackbarManager = SnackbarManager,
|
||||
resources: Resources = resources(),
|
||||
coroutineScope: CoroutineScope = rememberCoroutineScope()
|
||||
) =
|
||||
remember(scaffoldState, navController, snackbarManager, resources, coroutineScope) {
|
||||
StudeezAppstate(scaffoldState, drawerState, navController, snackbarManager, resources, coroutineScope)
|
||||
StudeezAppstate(scaffoldState, navController, snackbarManager, resources, coroutineScope)
|
||||
}
|
||||
|
||||
@Composable
|
||||
|
@ -97,8 +91,7 @@ fun NavGraphBuilder.studeezGraph(appState: StudeezAppstate) {
|
|||
|
||||
composable(StudeezDestinations.HOME_SCREEN) {
|
||||
HomeScreen(
|
||||
openAndPopUp = { route, popUp -> appState.navigateAndPopUp(route, popUp) },
|
||||
openDrawer = { appState.openDrawer() }
|
||||
openAndPopUp = { route, popUp -> appState.navigateAndPopUp(route, popUp) }
|
||||
)
|
||||
}
|
||||
}
|
Reference in a new issue