Abhishek Dewan
07/18/2021, 6:56 AMAbhishek Dewan
07/18/2021, 6:56 AM@Composable
fun HomeScreenScaffold(navigateToScreen: (AppScreens, String) -> Unit) {
val scaffoldState = rememberScaffoldState()
val navController = rememberNavController()
val currentBackStackEntry by navController.currentBackStackEntryAsState()
SystemUiControlView(
statusBarColor = ScoutTheme.colors.bottomNavBarBackground,
navigationBarColor = ScoutTheme.colors.bottomNavBarBackground
) {
Scaffold(
backgroundColor = ScoutTheme.colors.secondaryBackground,
scaffoldState = scaffoldState,
bottomBar = {
HomeBottomNavBar(selectedRoute = extractSelectedRoute(entry = currentBackStackEntry)) {
navController.navigate(it) {
launchSingleTop = true
restoreState = true
}
}
},
content = { HomePagerContent(navController = navController, navigateToScreen = navigateToScreen) }
)
}
}
@Composable
private fun HomePagerContent(navController: NavHostController, navigateToScreen: (AppScreens, String) -> Unit) {
NavHost(navController = navController, startDestination = Discover.route) {
composable(route = Discover.route) {
DiscoverTab(navigateToScreen = navigateToScreen)
}
composable(route = Search.route) {
SearchTab()
}
composable(route = Collection.route) {
CollectionTab()
}
}
Abhishek Dewan
07/18/2021, 6:57 AMAbhishek Dewan
07/18/2021, 7:01 AMpopUpTo(navController.graph.findStartDestination().id) {
saveState = true
}
Abhishek Dewan
07/18/2021, 7:06 AMIan Lake
07/18/2021, 2:56 PMAbhishek Dewan
07/20/2021, 6:54 AMAbhishek Dewan
07/20/2021, 7:47 AMMaxUt
08/09/2021, 10:40 AM