Refactor(Navigation): Remove handleOnCanScrollChange

This commit is contained in:
2024-08-08 10:24:29 +08:00
parent 1607897fc9
commit 596ad2ccbe
4 changed files with 6 additions and 23 deletions

View File

@@ -10,8 +10,7 @@ fun OxygenNavHost(
modifier: Modifier = Modifier,
appState: OxygenAppState,
onShowSnackbar: suspend (String, String?) -> Boolean,
startDestination: String,
handleOnCanScrollChange: (Boolean) -> Unit
startDestination: String
) {
val navController = appState.navController
NavHost(
@@ -31,8 +30,7 @@ fun OxygenNavHost(
)
toolsScreen(
onNavigateToToolView = navController::navigateToToolView,
onShowSnackbar = onShowSnackbar,
handleOnCanScrollChange = handleOnCanScrollChange
onShowSnackbar = onShowSnackbar
)
toolViewScreen(
onBackClick = navController::popBackStack

View File

@@ -12,16 +12,14 @@ fun NavController.navigateToTools(navOptions: NavOptions) = navigate(TOOLS_ROUTE
fun NavGraphBuilder.toolsScreen(
onNavigateToToolView: (username: String, toolId: String) -> Unit,
onShowSnackbar: suspend (String, String?) -> Boolean,
handleOnCanScrollChange: (Boolean) -> Unit
onShowSnackbar: suspend (String, String?) -> Boolean
) {
composable(
route = TOOLS_ROUTE
) {
ToolsRoute(
onNavigateToToolView = onNavigateToToolView,
onShowSnackbar = onShowSnackbar,
handleOnCanScrollChange = handleOnCanScrollChange
onShowSnackbar = onShowSnackbar
)
}
}

View File

@@ -77,10 +77,6 @@ fun OxygenApp(appState: OxygenAppState) {
val noConnectMessage = stringResource(R.string.core_no_connect)
var canScroll by remember { mutableStateOf(false) }
val handleOnCanScrollChange = { value: Boolean ->
canScroll = value
}
val topAppBarScrollBehavior = TopAppBarDefaults.enterAlwaysScrollBehavior()
LaunchedEffect(isOffline) {
@@ -175,8 +171,7 @@ fun OxygenApp(appState: OxygenAppState) {
startDestination = when (appState.launchPageConfig) {
LaunchPageConfig.TOOLS -> TOOLS_ROUTE
LaunchPageConfig.STAR -> STAR_ROUTE
},
handleOnCanScrollChange = handleOnCanScrollChange
}
)
}
}

View File

@@ -51,16 +51,13 @@ internal fun ToolsRoute(
modifier: Modifier = Modifier,
viewModel: ToolsScreenViewModel = hiltViewModel(),
onNavigateToToolView: (username: String, toolId: String) -> Unit,
onShowSnackbar: suspend (String, String?) -> Boolean,
handleOnCanScrollChange: (Boolean) -> Unit
onShowSnackbar: suspend (String, String?) -> Boolean
) {
val toolStorePagingItems = viewModel.storeData.collectAsLazyPagingItems()
ToolsScreen(
modifier = modifier,
onNavigateToToolView = onNavigateToToolView,
onShowSnackbar = onShowSnackbar,
handleOnCanScrollChange = handleOnCanScrollChange,
toolStorePagingItems = toolStorePagingItems
)
}
@@ -69,8 +66,6 @@ internal fun ToolsRoute(
internal fun ToolsScreen(
modifier: Modifier = Modifier,
onNavigateToToolView: (username: String, toolId: String) -> Unit,
onShowSnackbar: suspend (String, String?) -> Boolean,
handleOnCanScrollChange: (Boolean) -> Unit,
toolStorePagingItems: LazyPagingItems<Tool>
) {
val isToolLoading =
@@ -86,9 +81,6 @@ internal fun ToolsScreen(
val infiniteTransition = rememberInfiniteTransition(label = "infiniteTransition")
LaunchedEffect(state.canScrollForward) {
handleOnCanScrollChange(state.canScrollForward)
}
Box(
modifier.fillMaxSize()
) {