flamy
08/19/2024, 4:23 PMflamy
08/19/2024, 4:24 PM@Composable
fun FileManagerNavHost(
modifier: Modifier = Modifier,
navController: NavHostController,
) {
NavHost(
navController = navController,
startDestination = HomePageRoute,
enterTransition = {
slideIntoContainer(
AnimatedContentTransitionScope.SlideDirection.Start,
tween(500)
)
},
exitTransition = {
slideOutOfContainer(
AnimatedContentTransitionScope.SlideDirection.Start,
tween(500)
)
},
modifier = modifier
) {
homePageRoute(
onNavigateToFileList = { directory ->
navController.navigateSafely(FileListRoute(directory))
}
)
fileListRoute(
onNavigateToFileList = { directory ->
navController.navigateSafely(FileListRoute(directory))
}
)
imageViewerRoute()
}
}
fun NavController.navigateSafely(route: Route) {
val currentBackStackEntry = this.currentBackStackEntry ?: return
if (currentBackStackEntry.lifecycle.currentState == Lifecycle.State.RESUMED) {
this.navigate(route)
}
Alexandru Caraus
08/20/2024, 5:54 AMflamy
08/20/2024, 4:38 PM