Peter Enyedi
09/23/2022, 10:15 AMPeter Enyedi
09/23/2022, 10:19 AM@Composable
fun AppMainScreen() {
val scaffoldState = rememberScaffoldState()
val navController = rememberNavController()
val scope = rememberCoroutineScope()
Scaffold(
drawerContent = {
MyDrawer(
onDestinationClicked = { route ->
navController.navigate(route) {
popUpTo(navController.graph.startDestinationId)
launchSingleTop = true
}
scope.launch {
scaffoldState.drawerState.close()
}
}
)
},
drawerBackgroundColor = MaterialTheme.colors.background,
drawerContentColor = MaterialTheme.colors.onBackground,
topBar = {
MyTopBar(
navigationIcon = {
Icon(
imageVector = <http://Icons.Default.Menu|Icons.Default.Menu>,
contentDescription = null,
modifier = Modifier
.padding(start = 16.dp)
.clickable(onClick = {
scope.launch { scaffoldState.drawerState.open() }
})
)
}
)
},
bottomBar = { Footer() },
scaffoldState = scaffoldState,
content = { paddingValues ->
Surface(modifier = Modifier.padding(paddingValues)) {
NavHost(
navController = navController,
startDestination = DrawerScreens.Home.route
) {
composable(DrawerScreens.Home.route) {
HomeScreen(navController)
}
composable(DrawerScreens.GoodCauses.route) {
GoodCausesScreen()
}
composable(HomeScreens.ArticleDetails.route) {
ArticleScreen(navController)
}
}
}
}
)
}