mirror of
https://github.com/bitwarden/android.git
synced 2026-06-08 08:06:32 -05:00
Add navigation routing for the VaultEditItemScreen (#328)
This commit is contained in:
committed by
Álison Fernandes
parent
b61c796f7b
commit
96866ee540
@@ -10,10 +10,12 @@ import com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.VAULT_UNLOCKE
|
||||
import com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar.vaultUnlockedNavBarDestination
|
||||
import com.x8bit.bitwarden.ui.tools.feature.send.navigateToNewSend
|
||||
import com.x8bit.bitwarden.ui.tools.feature.send.newSendDestination
|
||||
import com.x8bit.bitwarden.ui.vault.feature.item.navigateToVaultItem
|
||||
import com.x8bit.bitwarden.ui.vault.feature.item.vaultItemDestination
|
||||
import com.x8bit.bitwarden.ui.vault.feature.additem.navigateToVaultAddItem
|
||||
import com.x8bit.bitwarden.ui.vault.feature.additem.vaultAddItemDestination
|
||||
import com.x8bit.bitwarden.ui.vault.feature.edit.navigateToVaultEditItem
|
||||
import com.x8bit.bitwarden.ui.vault.feature.edit.vaultEditItemDestination
|
||||
import com.x8bit.bitwarden.ui.vault.feature.item.navigateToVaultItem
|
||||
import com.x8bit.bitwarden.ui.vault.feature.item.vaultItemDestination
|
||||
|
||||
const val VAULT_UNLOCKED_GRAPH_ROUTE: String = "vault_unlocked_graph"
|
||||
|
||||
@@ -37,12 +39,17 @@ fun NavGraphBuilder.vaultUnlockedGraph(
|
||||
vaultUnlockedNavBarDestination(
|
||||
onNavigateToVaultAddItem = { navController.navigateToVaultAddItem() },
|
||||
onNavigateToVaultItem = { navController.navigateToVaultItem(it) },
|
||||
onNavigateToVaultEditItem = { navController.navigateToVaultEditItem(it) },
|
||||
onNavigateToNewSend = { navController.navigateToNewSend() },
|
||||
onNavigateToDeleteAccount = { navController.navigateToDeleteAccount() },
|
||||
)
|
||||
deleteAccountDestination(onNavigateBack = { navController.popBackStack() })
|
||||
vaultAddItemDestination(onNavigateBack = { navController.popBackStack() })
|
||||
vaultItemDestination(onNavigateBack = { navController.popBackStack() })
|
||||
vaultItemDestination(
|
||||
onNavigateBack = { navController.popBackStack() },
|
||||
onNavigateToVaultEditItem = { navController.navigateToVaultEditItem(it) },
|
||||
)
|
||||
vaultEditItemDestination(onNavigateBack = { navController.popBackStack() })
|
||||
newSendDestination(onNavigateBack = { navController.popBackStack() })
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ fun NavController.navigateToVaultUnlockedNavBar(navOptions: NavOptions? = null)
|
||||
fun NavGraphBuilder.vaultUnlockedNavBarDestination(
|
||||
onNavigateToVaultAddItem: () -> Unit,
|
||||
onNavigateToVaultItem: (vaultItemId: String) -> Unit,
|
||||
onNavigateToVaultEditItem: (vaultItemId: String) -> Unit,
|
||||
onNavigateToNewSend: () -> Unit,
|
||||
onNavigateToDeleteAccount: () -> Unit,
|
||||
) {
|
||||
@@ -37,6 +38,7 @@ fun NavGraphBuilder.vaultUnlockedNavBarDestination(
|
||||
VaultUnlockedNavBarScreen(
|
||||
onNavigateToVaultAddItem = onNavigateToVaultAddItem,
|
||||
onNavigateToVaultItem = onNavigateToVaultItem,
|
||||
onNavigateToVaultEditItem = onNavigateToVaultEditItem,
|
||||
onNavigateToNewSend = onNavigateToNewSend,
|
||||
onNavigateToDeleteAccount = onNavigateToDeleteAccount,
|
||||
)
|
||||
|
||||
@@ -67,6 +67,7 @@ fun VaultUnlockedNavBarScreen(
|
||||
navController: NavHostController = rememberNavController(),
|
||||
onNavigateToVaultAddItem: () -> Unit,
|
||||
onNavigateToVaultItem: (vaultItemId: String) -> Unit,
|
||||
onNavigateToVaultEditItem: (vaultItemId: String) -> Unit,
|
||||
onNavigateToNewSend: () -> Unit,
|
||||
onNavigateToDeleteAccount: () -> Unit,
|
||||
) {
|
||||
@@ -95,6 +96,7 @@ fun VaultUnlockedNavBarScreen(
|
||||
VaultUnlockedNavBarScaffold(
|
||||
navController = navController,
|
||||
onNavigateToVaultItem = onNavigateToVaultItem,
|
||||
onNavigateToVaultEditItem = onNavigateToVaultEditItem,
|
||||
navigateToVaultAddItem = onNavigateToVaultAddItem,
|
||||
navigateToNewSend = onNavigateToNewSend,
|
||||
navigateToDeleteAccount = onNavigateToDeleteAccount,
|
||||
@@ -126,6 +128,7 @@ private fun VaultUnlockedNavBarScaffold(
|
||||
settingsTabClickedAction: () -> Unit,
|
||||
navigateToVaultAddItem: () -> Unit,
|
||||
onNavigateToVaultItem: (vaultItemId: String) -> Unit,
|
||||
onNavigateToVaultEditItem: (vaultItemId: String) -> Unit,
|
||||
navigateToNewSend: () -> Unit,
|
||||
navigateToDeleteAccount: () -> Unit,
|
||||
) {
|
||||
@@ -182,6 +185,7 @@ private fun VaultUnlockedNavBarScaffold(
|
||||
navigateToVaultAddItem()
|
||||
},
|
||||
onNavigateToVaultItemScreen = onNavigateToVaultItem,
|
||||
onNavigateToVaultEditItemScreen = onNavigateToVaultEditItem,
|
||||
onDimBottomNavBarRequest = { shouldDim ->
|
||||
shouldDimNavBar = shouldDim
|
||||
},
|
||||
|
||||
@@ -27,6 +27,7 @@ class VaultItemArgs(val vaultItemId: String) {
|
||||
*/
|
||||
fun NavGraphBuilder.vaultItemDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
onNavigateToVaultEditItem: (vaultItemId: String) -> Unit,
|
||||
) {
|
||||
composable(
|
||||
route = VAULT_ITEM_ROUTE,
|
||||
@@ -34,11 +35,14 @@ fun NavGraphBuilder.vaultItemDestination(
|
||||
navArgument(VAULT_ITEM_ID) { type = NavType.StringType },
|
||||
),
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
VaultItemScreen(onNavigateBack = onNavigateBack)
|
||||
VaultItemScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
onNavigateToVaultEditItem = onNavigateToVaultEditItem,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ fun VaultItemScreen(
|
||||
clipboardManager: ClipboardManager = LocalClipboardManager.current,
|
||||
intentHandler: IntentHandler = IntentHandler(context = LocalContext.current),
|
||||
onNavigateBack: () -> Unit,
|
||||
onNavigateToVaultEditItem: (vaultItemId: String) -> Unit,
|
||||
) {
|
||||
val state by viewModel.stateFlow.collectAsStateWithLifecycle()
|
||||
val context = LocalContext.current
|
||||
@@ -61,9 +62,7 @@ fun VaultItemScreen(
|
||||
|
||||
VaultItemEvent.NavigateBack -> onNavigateBack()
|
||||
|
||||
is VaultItemEvent.NavigateToEdit -> {
|
||||
Toast.makeText(context, "Not yet implemented.", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
is VaultItemEvent.NavigateToEdit -> onNavigateToVaultEditItem(event.itemId)
|
||||
|
||||
is VaultItemEvent.NavigateToPasswordHistory -> {
|
||||
Toast.makeText(context, "Not yet implemented.", Toast.LENGTH_SHORT).show()
|
||||
|
||||
@@ -13,12 +13,14 @@ const val VAULT_ROUTE: String = "vault"
|
||||
fun NavGraphBuilder.vaultDestination(
|
||||
onNavigateToVaultAddItemScreen: () -> Unit,
|
||||
onNavigateToVaultItemScreen: (vaultItemId: String) -> Unit,
|
||||
onNavigateToVaultEditItemScreen: (vaultItemId: String) -> Unit,
|
||||
onDimBottomNavBarRequest: (shouldDim: Boolean) -> Unit,
|
||||
) {
|
||||
composable(VAULT_ROUTE) {
|
||||
VaultScreen(
|
||||
onNavigateToVaultAddItemScreen = onNavigateToVaultAddItemScreen,
|
||||
onNavigateToVaultItemScreen = onNavigateToVaultItemScreen,
|
||||
onNavigateToVaultEditItemScreen = onNavigateToVaultEditItemScreen,
|
||||
onDimBottomNavBarRequest = onDimBottomNavBarRequest,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ fun VaultScreen(
|
||||
viewModel: VaultViewModel = hiltViewModel(),
|
||||
onNavigateToVaultAddItemScreen: () -> Unit,
|
||||
onNavigateToVaultItemScreen: (vaultItemId: String) -> Unit,
|
||||
onNavigateToVaultEditItemScreen: (vaultItemId: String) -> Unit,
|
||||
onDimBottomNavBarRequest: (shouldDim: Boolean) -> Unit,
|
||||
) {
|
||||
val context = LocalContext.current
|
||||
@@ -62,6 +63,8 @@ fun VaultScreen(
|
||||
|
||||
is VaultEvent.NavigateToVaultItem -> onNavigateToVaultItemScreen(event.itemId)
|
||||
|
||||
is VaultEvent.NavigateToEditVaultItem -> onNavigateToVaultEditItemScreen(event.itemId)
|
||||
|
||||
VaultEvent.NavigateToCardGroup -> {
|
||||
Toast
|
||||
.makeText(context, "Navigate to card type screen.", Toast.LENGTH_SHORT)
|
||||
|
||||
@@ -419,6 +419,13 @@ sealed class VaultEvent {
|
||||
val itemId: String,
|
||||
) : VaultEvent()
|
||||
|
||||
/**
|
||||
* Navigate to the item edit screen.
|
||||
*/
|
||||
data class NavigateToEditVaultItem(
|
||||
val itemId: String,
|
||||
) : VaultEvent()
|
||||
|
||||
/**
|
||||
* Navigate to the card group screen.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user