Refactor(Navigation): Remove handleOnCanScrollChange
This commit is contained in:
@@ -10,8 +10,7 @@ fun OxygenNavHost(
|
|||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
appState: OxygenAppState,
|
appState: OxygenAppState,
|
||||||
onShowSnackbar: suspend (String, String?) -> Boolean,
|
onShowSnackbar: suspend (String, String?) -> Boolean,
|
||||||
startDestination: String,
|
startDestination: String
|
||||||
handleOnCanScrollChange: (Boolean) -> Unit
|
|
||||||
) {
|
) {
|
||||||
val navController = appState.navController
|
val navController = appState.navController
|
||||||
NavHost(
|
NavHost(
|
||||||
@@ -31,8 +30,7 @@ fun OxygenNavHost(
|
|||||||
)
|
)
|
||||||
toolsScreen(
|
toolsScreen(
|
||||||
onNavigateToToolView = navController::navigateToToolView,
|
onNavigateToToolView = navController::navigateToToolView,
|
||||||
onShowSnackbar = onShowSnackbar,
|
onShowSnackbar = onShowSnackbar
|
||||||
handleOnCanScrollChange = handleOnCanScrollChange
|
|
||||||
)
|
)
|
||||||
toolViewScreen(
|
toolViewScreen(
|
||||||
onBackClick = navController::popBackStack
|
onBackClick = navController::popBackStack
|
||||||
|
|||||||
@@ -12,16 +12,14 @@ fun NavController.navigateToTools(navOptions: NavOptions) = navigate(TOOLS_ROUTE
|
|||||||
|
|
||||||
fun NavGraphBuilder.toolsScreen(
|
fun NavGraphBuilder.toolsScreen(
|
||||||
onNavigateToToolView: (username: String, toolId: String) -> Unit,
|
onNavigateToToolView: (username: String, toolId: String) -> Unit,
|
||||||
onShowSnackbar: suspend (String, String?) -> Boolean,
|
onShowSnackbar: suspend (String, String?) -> Boolean
|
||||||
handleOnCanScrollChange: (Boolean) -> Unit
|
|
||||||
) {
|
) {
|
||||||
composable(
|
composable(
|
||||||
route = TOOLS_ROUTE
|
route = TOOLS_ROUTE
|
||||||
) {
|
) {
|
||||||
ToolsRoute(
|
ToolsRoute(
|
||||||
onNavigateToToolView = onNavigateToToolView,
|
onNavigateToToolView = onNavigateToToolView,
|
||||||
onShowSnackbar = onShowSnackbar,
|
onShowSnackbar = onShowSnackbar
|
||||||
handleOnCanScrollChange = handleOnCanScrollChange
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,10 +77,6 @@ fun OxygenApp(appState: OxygenAppState) {
|
|||||||
|
|
||||||
val noConnectMessage = stringResource(R.string.core_no_connect)
|
val noConnectMessage = stringResource(R.string.core_no_connect)
|
||||||
|
|
||||||
var canScroll by remember { mutableStateOf(false) }
|
|
||||||
val handleOnCanScrollChange = { value: Boolean ->
|
|
||||||
canScroll = value
|
|
||||||
}
|
|
||||||
val topAppBarScrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
|
val topAppBarScrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
|
||||||
|
|
||||||
LaunchedEffect(isOffline) {
|
LaunchedEffect(isOffline) {
|
||||||
@@ -175,8 +171,7 @@ fun OxygenApp(appState: OxygenAppState) {
|
|||||||
startDestination = when (appState.launchPageConfig) {
|
startDestination = when (appState.launchPageConfig) {
|
||||||
LaunchPageConfig.TOOLS -> TOOLS_ROUTE
|
LaunchPageConfig.TOOLS -> TOOLS_ROUTE
|
||||||
LaunchPageConfig.STAR -> STAR_ROUTE
|
LaunchPageConfig.STAR -> STAR_ROUTE
|
||||||
},
|
}
|
||||||
handleOnCanScrollChange = handleOnCanScrollChange
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,16 +51,13 @@ internal fun ToolsRoute(
|
|||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
viewModel: ToolsScreenViewModel = hiltViewModel(),
|
viewModel: ToolsScreenViewModel = hiltViewModel(),
|
||||||
onNavigateToToolView: (username: String, toolId: String) -> Unit,
|
onNavigateToToolView: (username: String, toolId: String) -> Unit,
|
||||||
onShowSnackbar: suspend (String, String?) -> Boolean,
|
onShowSnackbar: suspend (String, String?) -> Boolean
|
||||||
handleOnCanScrollChange: (Boolean) -> Unit
|
|
||||||
) {
|
) {
|
||||||
val toolStorePagingItems = viewModel.storeData.collectAsLazyPagingItems()
|
val toolStorePagingItems = viewModel.storeData.collectAsLazyPagingItems()
|
||||||
|
|
||||||
ToolsScreen(
|
ToolsScreen(
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
onNavigateToToolView = onNavigateToToolView,
|
onNavigateToToolView = onNavigateToToolView,
|
||||||
onShowSnackbar = onShowSnackbar,
|
|
||||||
handleOnCanScrollChange = handleOnCanScrollChange,
|
|
||||||
toolStorePagingItems = toolStorePagingItems
|
toolStorePagingItems = toolStorePagingItems
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -69,8 +66,6 @@ internal fun ToolsRoute(
|
|||||||
internal fun ToolsScreen(
|
internal fun ToolsScreen(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
onNavigateToToolView: (username: String, toolId: String) -> Unit,
|
onNavigateToToolView: (username: String, toolId: String) -> Unit,
|
||||||
onShowSnackbar: suspend (String, String?) -> Boolean,
|
|
||||||
handleOnCanScrollChange: (Boolean) -> Unit,
|
|
||||||
toolStorePagingItems: LazyPagingItems<Tool>
|
toolStorePagingItems: LazyPagingItems<Tool>
|
||||||
) {
|
) {
|
||||||
val isToolLoading =
|
val isToolLoading =
|
||||||
@@ -86,9 +81,6 @@ internal fun ToolsScreen(
|
|||||||
|
|
||||||
val infiniteTransition = rememberInfiniteTransition(label = "infiniteTransition")
|
val infiniteTransition = rememberInfiniteTransition(label = "infiniteTransition")
|
||||||
|
|
||||||
LaunchedEffect(state.canScrollForward) {
|
|
||||||
handleOnCanScrollChange(state.canScrollForward)
|
|
||||||
}
|
|
||||||
Box(
|
Box(
|
||||||
modifier.fillMaxSize()
|
modifier.fillMaxSize()
|
||||||
) {
|
) {
|
||||||
|
|||||||
Reference in New Issue
Block a user