From 67bea18a846fd5e0a0bfed5a92b440905523cd19 Mon Sep 17 00:00:00 2001 From: Patrick Honkonen Date: Fri, 5 Dec 2025 16:33:08 -0500 Subject: [PATCH] Add VaultTakeover navigation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- .../vaulttakeover/VaultTakeoverNavigation.kt | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vaulttakeover/VaultTakeoverNavigation.kt diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vaulttakeover/VaultTakeoverNavigation.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vaulttakeover/VaultTakeoverNavigation.kt new file mode 100644 index 0000000000..59b85f1bd9 --- /dev/null +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vaulttakeover/VaultTakeoverNavigation.kt @@ -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 { + VaultTakeoverScreen( + onNavigateToVault = onNavigateToVault, + onNavigateToLeaveOrganization = onNavigateToLeaveOrganization, + ) + } +}