Add VaultTakeover navigation

Create VaultTakeoverNavigation with type-safe routing:

- VaultTakeoverRoute: Serializable data object for type-safe navigation
- navigateToVaultTakeover(): NavController extension for navigation
- vaultTakeoverDestination(): NavGraphBuilder extension to register screen

Uses composableWithSlideTransitions for consistent navigation animations.
Follows established navigation patterns in the codebase.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Patrick Honkonen 2025-12-05 16:33:08 -05:00
parent 430baa2ff8
commit 67bea18a84
No known key found for this signature in database
GPG Key ID: 27C65CF8B03CC9FB

View File

@ -0,0 +1,35 @@
package com.x8bit.bitwarden.ui.vault.feature.vaulttakeover
import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder
import androidx.navigation.NavOptions
import com.bitwarden.ui.platform.base.util.composableWithSlideTransitions
import kotlinx.serialization.Serializable
/**
* The type-safe route for the vault takeover screen.
*/
@Serializable
data object VaultTakeoverRoute
/**
* Navigate to the vault takeover screen.
*/
fun NavController.navigateToVaultTakeover(navOptions: NavOptions? = null) {
this.navigate(route = VaultTakeoverRoute, navOptions = navOptions)
}
/**
* Add the vault takeover screen to the nav graph.
*/
fun NavGraphBuilder.vaultTakeoverDestination(
onNavigateToVault: () -> Unit,
onNavigateToLeaveOrganization: () -> Unit,
) {
composableWithSlideTransitions<VaultTakeoverRoute> {
VaultTakeoverScreen(
onNavigateToVault = onNavigateToVault,
onNavigateToLeaveOrganization = onNavigateToLeaveOrganization,
)
}
}