Feat(Tool): Add tool store
Add tool store, support install tool online.
This commit is contained in:
@@ -28,9 +28,12 @@ fun OxygenNavHost(
|
||||
librariesScreen(
|
||||
onBackClick = navController::popBackStack
|
||||
)
|
||||
toolStoreScreen(
|
||||
onNavigateToToolView = navController::navigateToToolView
|
||||
)
|
||||
toolsScreen(
|
||||
onNavigateToToolView = navController::navigateToToolView,
|
||||
onShowSnackbar = onShowSnackbar
|
||||
onNavigateToToolStore = { appState.navigateToTopLevelDestination(TopLevelDestination.TOOL_STORE) }
|
||||
)
|
||||
toolViewScreen(
|
||||
onBackClick = navController::popBackStack
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
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.tool.ToolStoreRoute
|
||||
|
||||
const val TOOL_STORE_ROUTE = "tool_store_route"
|
||||
|
||||
fun NavController.navigateToToolStore(navOptions: NavOptions? = null) = navigate(TOOL_STORE_ROUTE, navOptions)
|
||||
|
||||
fun NavGraphBuilder.toolStoreScreen(
|
||||
onNavigateToToolView: (username: String, toolId: String) -> Unit
|
||||
) {
|
||||
composable(
|
||||
route = TOOL_STORE_ROUTE
|
||||
) {
|
||||
ToolStoreRoute(
|
||||
onNavigateToToolView = onNavigateToToolView
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -12,14 +12,14 @@ fun NavController.navigateToTools(navOptions: NavOptions) = navigate(TOOLS_ROUTE
|
||||
|
||||
fun NavGraphBuilder.toolsScreen(
|
||||
onNavigateToToolView: (username: String, toolId: String) -> Unit,
|
||||
onShowSnackbar: suspend (String, String?) -> Boolean
|
||||
onNavigateToToolStore: () -> Unit
|
||||
) {
|
||||
composable(
|
||||
route = TOOLS_ROUTE
|
||||
) {
|
||||
ToolsRoute(
|
||||
onNavigateToToolView = onNavigateToToolView,
|
||||
onShowSnackbar = onShowSnackbar
|
||||
onNavigateToToolStore = onNavigateToToolStore
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,13 @@ enum class TopLevelDestination(
|
||||
@StringRes val iconTextId: Int,
|
||||
@StringRes val titleTextId: Int
|
||||
) {
|
||||
TOOL_STORE(
|
||||
selectedIcon = OxygenIcons.Store,
|
||||
unselectedIcon = OxygenIcons.StoreBorder,
|
||||
iconTextId = R.string.feature_store_title,
|
||||
titleTextId = R.string.feature_store_title
|
||||
),
|
||||
|
||||
TOOLS(
|
||||
selectedIcon = OxygenIcons.Home,
|
||||
unselectedIcon = OxygenIcons.HomeBorder,
|
||||
|
||||
Reference in New Issue
Block a user