Feat(ToolStore and Tools): Support query by tool name or keywords

This commit is contained in:
2024-08-19 17:48:42 +08:00
parent 47647217f1
commit 167df010a9
16 changed files with 111 additions and 87 deletions

View File

@@ -11,7 +11,9 @@ fun OxygenNavHost(
appState: OxygenAppState,
onShowSnackbar: suspend (message: String, action: String?) -> Boolean,
startDestination: String,
isVertical: Boolean
isVertical: Boolean,
searchValue: String,
searchCount: Int
) {
val navController = appState.navController
NavHost(
@@ -19,9 +21,6 @@ fun OxygenNavHost(
navController = navController,
startDestination = startDestination
) {
searchScreen(
onBackClick = navController::popBackStack
)
aboutScreen(
onBackClick = navController::popBackStack,
onNavigateToLibraries = navController::navigateToLibraries
@@ -31,10 +30,13 @@ fun OxygenNavHost(
)
toolStoreScreen(
isVertical = isVertical,
searchValue = searchValue,
searchCount = searchCount,
onNavigateToToolView = navController::navigateToToolView
)
toolsScreen(
isVertical = isVertical,
searchValue = searchValue,
onShowSnackbar = onShowSnackbar,
onNavigateToToolView = navController::navigateToToolView,
onNavigateToToolStore = { appState.navigateToTopLevelDestination(TopLevelDestination.ToolStore) }

View File

@@ -1,22 +0,0 @@
package top.fatweb.oxygen.toolbox.navigation
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.compose.composable
import top.fatweb.oxygen.toolbox.ui.search.SearchRoute
const val SEARCH_ROUTE = "search_route"
fun NavController.navigateToSearch(navOptions: NavOptions? = null) =
navigate(SEARCH_ROUTE, navOptions)
fun NavGraphBuilder.searchScreen(
onBackClick: () -> Unit
) {
composable(
route = SEARCH_ROUTE
) {
SearchRoute(onBackClick = onBackClick)
}
}

View File

@@ -17,6 +17,8 @@ fun NavController.navigateToToolStore(navOptions: NavOptions? = null) =
fun NavGraphBuilder.toolStoreScreen(
isVertical: Boolean,
searchValue: String,
searchCount: Int,
onNavigateToToolView: (username: String, toolId: String, preview: Boolean) -> Unit
) {
composable(
@@ -41,6 +43,8 @@ fun NavGraphBuilder.toolStoreScreen(
}
) {
ToolStoreRoute(
searchValue = searchValue,
searchCount = searchCount,
onNavigateToToolView = onNavigateToToolView
)
}

View File

@@ -16,6 +16,7 @@ fun NavController.navigateToTools(navOptions: NavOptions) = navigate(TOOLS_ROUTE
fun NavGraphBuilder.toolsScreen(
isVertical: Boolean,
searchValue: String,
onShowSnackbar: suspend (message: String, action: String?) -> Boolean,
onNavigateToToolView: (username: String, toolId: String, preview: Boolean) -> Unit,
onNavigateToToolStore: () -> Unit
@@ -50,6 +51,7 @@ fun NavGraphBuilder.toolsScreen(
}
) {
ToolsRoute(
searchValue = searchValue,
onShowSnackbar = onShowSnackbar,
onNavigateToToolView = onNavigateToToolView,
onNavigateToToolStore = onNavigateToToolStore