Create a navigation graph for the generator tab (#617)

This commit is contained in:
David Perez 2024-01-15 08:47:31 -06:00 committed by Álison Fernandes
parent c983937070
commit 82b174168e
3 changed files with 36 additions and 5 deletions

View file

@ -51,8 +51,8 @@ import com.x8bit.bitwarden.ui.platform.feature.settings.navigateToSettingsGraph
import com.x8bit.bitwarden.ui.platform.feature.settings.settingsGraph
import com.x8bit.bitwarden.ui.platform.theme.RootTransitionProviders
import com.x8bit.bitwarden.ui.tools.feature.generator.GENERATOR_ROUTE
import com.x8bit.bitwarden.ui.tools.feature.generator.generatorDestination
import com.x8bit.bitwarden.ui.tools.feature.generator.navigateToGenerator
import com.x8bit.bitwarden.ui.tools.feature.generator.generatorGraph
import com.x8bit.bitwarden.ui.tools.feature.generator.navigateToGeneratorGraph
import com.x8bit.bitwarden.ui.tools.feature.send.SEND_GRAPH_ROUTE
import com.x8bit.bitwarden.ui.tools.feature.send.navigateToSendGraph
import com.x8bit.bitwarden.ui.tools.feature.send.sendGraph
@ -93,7 +93,7 @@ fun VaultUnlockedNavBarScreen(
}
VaultUnlockedNavBarEvent.NavigateToGeneratorScreen -> {
navigateToGenerator(navOptions)
navigateToGeneratorGraph(navOptions)
}
VaultUnlockedNavBarEvent.NavigateToSettingsScreen -> {
@ -218,7 +218,7 @@ private fun VaultUnlockedNavBarScaffold(
onNavigateToAddSend = navigateToAddSend,
onNavigateToEditSend = onNavigateToEditSend,
)
generatorDestination(
generatorGraph(
onNavigateToPasswordHistory = { navigateToPasswordHistory() },
)
settingsGraph(

View file

@ -0,0 +1,31 @@
package com.x8bit.bitwarden.ui.tools.feature.generator
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import androidx.navigation.navigation
private const val GENERATOR_GRAPH_ROUTE: String = "generator_graph"
/**
* Add generator destination to the root nav graph.
*/
fun NavGraphBuilder.generatorGraph(
onNavigateToPasswordHistory: () -> Unit,
) {
navigation(
route = GENERATOR_GRAPH_ROUTE,
startDestination = GENERATOR_ROUTE,
) {
generatorDestination(
onNavigateToPasswordHistory = onNavigateToPasswordHistory,
)
}
}
/**
* Navigate to the generator graph.
*/
fun NavController.navigateToGeneratorGraph(navOptions: NavOptions? = null) {
navigate(GENERATOR_GRAPH_ROUTE, navOptions)
}

View file

@ -103,7 +103,7 @@ class VaultUnlockedNavBarScreenTest : BaseComposeTest() {
mutableEventFlow.tryEmit(VaultUnlockedNavBarEvent.NavigateToGeneratorScreen)
runOnIdle {
fakeNavHostController.assertLastNavigation(
route = "generator",
route = "generator_graph",
navOptions = expectedNavOptions,
)
}