mirror of
https://github.com/bitwarden/android.git
synced 2025-03-15 18:58:59 +03:00
Add wrappers for NavGraphBuilder.composable that supply transitions (#453)
This commit is contained in:
parent
12000b2746
commit
0f7a09dd96
24 changed files with 149 additions and 161 deletions
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.createaccount
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val CREATE_ACCOUNT_ROUTE = "create_account"
|
||||
|
||||
|
@ -22,12 +21,8 @@ fun NavGraphBuilder.createAccountDestination(
|
|||
onNavigateBack: () -> Unit,
|
||||
onNavigateToLogin: (emailAddress: String, captchaToken: String) -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = CREATE_ACCOUNT_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
CreateAccountScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.enterprisesignon
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val ENTERPRISE_SIGN_ON_ROUTE = "enterprise_sign_on"
|
||||
|
||||
|
@ -21,12 +20,8 @@ fun NavController.navigateToEnterpriseSignOn(navOptions: NavOptions? = null) {
|
|||
fun NavGraphBuilder.enterpriseSignOnDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = ENTERPRISE_SIGN_ON_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
EnterpriseSignOnScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.environment
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val ENVIRONMENT_ROUTE = "environment"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val ENVIRONMENT_ROUTE = "environment"
|
|||
fun NavGraphBuilder.environmentDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = ENVIRONMENT_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
EnvironmentScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.landing
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithStayTransitions
|
||||
|
||||
const val LANDING_ROUTE: String = "landing"
|
||||
|
||||
|
@ -23,12 +22,8 @@ fun NavGraphBuilder.landingDestination(
|
|||
onNavigateToLogin: (emailAddress: String) -> Unit,
|
||||
onNavigateToEnvironment: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithStayTransitions(
|
||||
route = LANDING_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.stay,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.stay,
|
||||
) {
|
||||
LandingScreen(
|
||||
onNavigateToCreateAccount = onNavigateToCreateAccount,
|
||||
|
|
|
@ -5,10 +5,9 @@ import androidx.navigation.NavController
|
|||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.NavType
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.navArgument
|
||||
import com.x8bit.bitwarden.data.platform.annotation.OmitFromCoverage
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val EMAIL_ADDRESS: String = "email_address"
|
||||
private const val CAPTCHA_TOKEN = "captcha_token"
|
||||
|
@ -47,7 +46,7 @@ fun NavGraphBuilder.loginDestination(
|
|||
onNavigateToEnterpriseSignOn: () -> Unit,
|
||||
onNavigateToLoginWithDevice: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = LOGIN_ROUTE,
|
||||
arguments = listOf(
|
||||
navArgument(EMAIL_ADDRESS) { type = NavType.StringType },
|
||||
|
@ -56,10 +55,6 @@ fun NavGraphBuilder.loginDestination(
|
|||
nullable = true
|
||||
},
|
||||
),
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
LoginScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.loginwithdevice
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val LOGIN_WITH_DEVICE_ROUTE = "login_with_device"
|
||||
|
||||
|
@ -21,12 +20,8 @@ fun NavController.navigateToLoginWithDevice(navOptions: NavOptions? = null) {
|
|||
fun NavGraphBuilder.loginWithDeviceDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = LOGIN_WITH_DEVICE_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
LoginWithDeviceScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.auth.feature.vaultunlock
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
const val VAULT_UNLOCK_ROUTE: String = "vault_unlock"
|
||||
|
||||
|
@ -21,12 +20,8 @@ fun NavController.navigateToVaultUnlock(
|
|||
* Add the Vault Unlock screen to the nav graph.
|
||||
*/
|
||||
fun NavGraphBuilder.vaultUnlockDestination() {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = VAULT_UNLOCK_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
VaultUnlockScreen()
|
||||
}
|
||||
|
|
|
@ -0,0 +1,103 @@
|
|||
package com.x8bit.bitwarden.ui.platform.base.util
|
||||
|
||||
import androidx.compose.animation.AnimatedContentScope
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.navigation.NamedNavArgument
|
||||
import androidx.navigation.NavBackStackEntry
|
||||
import androidx.navigation.NavDeepLink
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.data.platform.annotation.OmitFromCoverage
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
|
||||
/**
|
||||
* A wrapper around [NavGraphBuilder.composable] that supplies slide up/down transitions.
|
||||
*/
|
||||
@OmitFromCoverage
|
||||
fun NavGraphBuilder.composableWithSlideTransitions(
|
||||
route: String,
|
||||
arguments: List<NamedNavArgument> = emptyList(),
|
||||
deepLinks: List<NavDeepLink> = emptyList(),
|
||||
content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit,
|
||||
) {
|
||||
this.composable(
|
||||
route = route,
|
||||
arguments = arguments,
|
||||
deepLinks = deepLinks,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
content = content,
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* A wrapper around [NavGraphBuilder.composable] that supplies "stay" transitions.
|
||||
*/
|
||||
@OmitFromCoverage
|
||||
fun NavGraphBuilder.composableWithStayTransitions(
|
||||
route: String,
|
||||
arguments: List<NamedNavArgument> = emptyList(),
|
||||
deepLinks: List<NavDeepLink> = emptyList(),
|
||||
content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit,
|
||||
) {
|
||||
this.composable(
|
||||
route = route,
|
||||
arguments = arguments,
|
||||
deepLinks = deepLinks,
|
||||
enterTransition = TransitionProviders.Enter.stay,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.stay,
|
||||
content = content,
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* A wrapper around [NavGraphBuilder.composable] that supplies push transitions.
|
||||
*
|
||||
* This is suitable for screens deeper within a hierarchy that uses push transitions; the root
|
||||
* screen of such a hierarchy should use [composableWithRootPushTransitions].
|
||||
*/
|
||||
@OmitFromCoverage
|
||||
fun NavGraphBuilder.composableWithPushTransitions(
|
||||
route: String,
|
||||
arguments: List<NamedNavArgument> = emptyList(),
|
||||
deepLinks: List<NavDeepLink> = emptyList(),
|
||||
content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit,
|
||||
) {
|
||||
this.composable(
|
||||
route = route,
|
||||
arguments = arguments,
|
||||
deepLinks = deepLinks,
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
content = content,
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* A wrapper around [NavGraphBuilder.composable] that supplies push transitions to the root screen
|
||||
* in a nested graph that uses push transitions.
|
||||
*/
|
||||
@OmitFromCoverage
|
||||
fun NavGraphBuilder.composableWithRootPushTransitions(
|
||||
route: String,
|
||||
arguments: List<NamedNavArgument> = emptyList(),
|
||||
deepLinks: List<NavDeepLink> = emptyList(),
|
||||
content: @Composable AnimatedContentScope.(NavBackStackEntry) -> Unit,
|
||||
) {
|
||||
this.composable(
|
||||
route = route,
|
||||
arguments = arguments,
|
||||
deepLinks = deepLinks,
|
||||
enterTransition = TransitionProviders.Enter.stay,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushRight,
|
||||
popExitTransition = TransitionProviders.Exit.fadeOut,
|
||||
content = content,
|
||||
)
|
||||
}
|
|
@ -3,8 +3,8 @@ package com.x8bit.bitwarden.ui.platform.feature.settings
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.navigation
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithRootPushTransitions
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.about.aboutDestination
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.about.navigateToAbout
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.accountsecurity.accountSecurityDestination
|
||||
|
@ -17,7 +17,6 @@ import com.x8bit.bitwarden.ui.platform.feature.settings.other.navigateToOther
|
|||
import com.x8bit.bitwarden.ui.platform.feature.settings.other.otherDestination
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.vault.navigateToVaultSettings
|
||||
import com.x8bit.bitwarden.ui.platform.feature.settings.vault.vaultSettingsDestination
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
|
||||
const val SETTINGS_GRAPH_ROUTE: String = "settings_graph"
|
||||
private const val SETTINGS_ROUTE: String = "settings"
|
||||
|
@ -33,12 +32,8 @@ fun NavGraphBuilder.settingsGraph(
|
|||
startDestination = SETTINGS_ROUTE,
|
||||
route = SETTINGS_GRAPH_ROUTE,
|
||||
) {
|
||||
composable(
|
||||
composableWithRootPushTransitions(
|
||||
route = SETTINGS_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.stay,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushRight,
|
||||
popExitTransition = TransitionProviders.Exit.fadeOut,
|
||||
) {
|
||||
SettingsScreen(
|
||||
onNavigateToAbout = { navController.navigateToAbout() },
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.about
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithPushTransitions
|
||||
|
||||
private const val ABOUT_ROUTE = "settings_about"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val ABOUT_ROUTE = "settings_about"
|
|||
fun NavGraphBuilder.aboutDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithPushTransitions(
|
||||
route = ABOUT_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
) {
|
||||
AboutScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.accountsecurity
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithPushTransitions
|
||||
|
||||
private const val ACCOUNT_SECURITY_ROUTE = "settings_account_security"
|
||||
|
||||
|
@ -15,12 +14,8 @@ fun NavGraphBuilder.accountSecurityDestination(
|
|||
onNavigateBack: () -> Unit,
|
||||
onNavigateToDeleteAccount: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithPushTransitions(
|
||||
route = ACCOUNT_SECURITY_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
) {
|
||||
AccountSecurityScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.accountsecurity.deletea
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val DELETE_ACCOUNT_ROUTE = "delete_account"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val DELETE_ACCOUNT_ROUTE = "delete_account"
|
|||
fun NavGraphBuilder.deleteAccountDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = DELETE_ACCOUNT_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
DeleteAccountScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.appearance
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithPushTransitions
|
||||
|
||||
private const val APPEARANCE_ROUTE = "settings_appearance"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val APPEARANCE_ROUTE = "settings_appearance"
|
|||
fun NavGraphBuilder.appearanceDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithPushTransitions(
|
||||
route = APPEARANCE_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
) {
|
||||
AppearanceScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.autofill
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithPushTransitions
|
||||
|
||||
private const val AUTO_FILL_ROUTE = "settings_auto_fill"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val AUTO_FILL_ROUTE = "settings_auto_fill"
|
|||
fun NavGraphBuilder.autoFillDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithPushTransitions(
|
||||
route = AUTO_FILL_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
) {
|
||||
AutoFillScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.other
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithPushTransitions
|
||||
|
||||
private const val OTHER_ROUTE = "settings_other"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val OTHER_ROUTE = "settings_other"
|
|||
fun NavGraphBuilder.otherDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithPushTransitions(
|
||||
route = OTHER_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
) {
|
||||
OtherScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.settings.vault
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithPushTransitions
|
||||
|
||||
private const val VAULT_SETTINGS_ROUTE = "vault_settings"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val VAULT_SETTINGS_ROUTE = "vault_settings"
|
|||
fun NavGraphBuilder.vaultSettingsDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithPushTransitions(
|
||||
route = VAULT_SETTINGS_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
) {
|
||||
VaultSettingsScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.platform.feature.vaultunlockednavbar
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithStayTransitions
|
||||
|
||||
/**
|
||||
* The functions below pertain to entry into the [VaultUnlockedNavBarScreen].
|
||||
|
@ -30,12 +29,8 @@ fun NavGraphBuilder.vaultUnlockedNavBarDestination(
|
|||
onNavigateToDeleteAccount: () -> Unit,
|
||||
onNavigateToPasswordHistory: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithStayTransitions(
|
||||
route = VAULT_UNLOCKED_NAV_BAR_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.stay,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.stay,
|
||||
) {
|
||||
VaultUnlockedNavBarScreen(
|
||||
onNavigateToVaultAddItem = onNavigateToVaultAddItem,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.tools.feature.generator.passwordhistory
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
/**
|
||||
* The functions below pertain to entry into the [PasswordHistoryScreen].
|
||||
|
@ -17,13 +16,9 @@ private const val PASSWORD_HISTORY_ROUTE: String = "password_history"
|
|||
fun NavGraphBuilder.passwordHistoryDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
// TODO: (BIT-617) Allow Password History screen to launch from VaultItemScreen
|
||||
route = PASSWORD_HISTORY_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
PasswordHistoryScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.tools.feature.send
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val NEW_SEND_ROUTE = "new_send"
|
||||
|
||||
|
@ -14,12 +13,8 @@ private const val NEW_SEND_ROUTE = "new_send"
|
|||
fun NavGraphBuilder.newSendDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = NEW_SEND_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
NewSendScreen(onNavigateBack = onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.tools.feature.send
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithRootPushTransitions
|
||||
|
||||
const val SEND_ROUTE: String = "send"
|
||||
|
||||
|
@ -14,12 +13,8 @@ const val SEND_ROUTE: String = "send"
|
|||
fun NavGraphBuilder.sendDestination(
|
||||
onNavigateToNewSend: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithRootPushTransitions(
|
||||
route = SEND_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.stay,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushRight,
|
||||
popExitTransition = TransitionProviders.Exit.fadeOut,
|
||||
) {
|
||||
SendScreen(
|
||||
onNavigateNewSend = onNavigateToNewSend,
|
||||
|
|
|
@ -5,9 +5,8 @@ import androidx.navigation.NavController
|
|||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.NavType
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.navArgument
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultAddEditType
|
||||
|
||||
private const val ADD_TYPE: String = "add"
|
||||
|
@ -41,15 +40,11 @@ class VaultAddEditItemArgs(
|
|||
fun NavGraphBuilder.vaultAddEditItemDestination(
|
||||
onNavigateBack: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = ADD_EDIT_ITEM_ROUTE,
|
||||
arguments = listOf(
|
||||
navArgument(ADD_EDIT_ITEM_TYPE) { type = NavType.StringType },
|
||||
),
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.slideDown,
|
||||
popEnterTransition = TransitionProviders.Enter.slideUp,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
VaultAddItemScreen(onNavigateBack)
|
||||
}
|
||||
|
|
|
@ -5,10 +5,9 @@ import androidx.navigation.NavController
|
|||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.NavType
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.navArgument
|
||||
import com.x8bit.bitwarden.data.platform.annotation.OmitFromCoverage
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithSlideTransitions
|
||||
|
||||
private const val VAULT_ITEM_PREFIX = "vault_item"
|
||||
private const val VAULT_ITEM_ID = "vault_item_id"
|
||||
|
@ -31,15 +30,11 @@ fun NavGraphBuilder.vaultItemDestination(
|
|||
onNavigateBack: () -> Unit,
|
||||
onNavigateToVaultEditItem: (vaultItemId: String) -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithSlideTransitions(
|
||||
route = VAULT_ITEM_ROUTE,
|
||||
arguments = listOf(
|
||||
navArgument(VAULT_ITEM_ID) { type = NavType.StringType },
|
||||
),
|
||||
enterTransition = TransitionProviders.Enter.slideUp,
|
||||
exitTransition = TransitionProviders.Exit.stay,
|
||||
popEnterTransition = TransitionProviders.Enter.stay,
|
||||
popExitTransition = TransitionProviders.Exit.slideDown,
|
||||
) {
|
||||
VaultItemScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -5,9 +5,8 @@ import androidx.navigation.NavController
|
|||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.NavType
|
||||
import androidx.navigation.compose.composable
|
||||
import androidx.navigation.navArgument
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithPushTransitions
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultItemListingType
|
||||
|
||||
private const val CARD: String = "card"
|
||||
|
@ -48,7 +47,7 @@ fun NavGraphBuilder.vaultItemListingDestination(
|
|||
onNavigateToVaultItemScreen: (id: String) -> Unit,
|
||||
onNavigateToVaultAddItemScreen: () -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithPushTransitions(
|
||||
route = VAULT_ITEM_LISTING_ROUTE,
|
||||
arguments = listOf(
|
||||
navArgument(
|
||||
|
@ -63,10 +62,6 @@ fun NavGraphBuilder.vaultItemListingDestination(
|
|||
},
|
||||
),
|
||||
),
|
||||
enterTransition = TransitionProviders.Enter.pushLeft,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushLeft,
|
||||
popExitTransition = TransitionProviders.Exit.pushRight,
|
||||
) {
|
||||
VaultItemListingScreen(
|
||||
onNavigateBack = onNavigateBack,
|
||||
|
|
|
@ -3,8 +3,7 @@ package com.x8bit.bitwarden.ui.vault.feature.vault
|
|||
import androidx.navigation.NavController
|
||||
import androidx.navigation.NavGraphBuilder
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.compose.composable
|
||||
import com.x8bit.bitwarden.ui.platform.theme.TransitionProviders
|
||||
import com.x8bit.bitwarden.ui.platform.base.util.composableWithRootPushTransitions
|
||||
import com.x8bit.bitwarden.ui.vault.model.VaultItemListingType
|
||||
|
||||
const val VAULT_ROUTE: String = "vault"
|
||||
|
@ -19,12 +18,8 @@ fun NavGraphBuilder.vaultDestination(
|
|||
onNavigateToVaultItemListingScreen: (vaultItemType: VaultItemListingType) -> Unit,
|
||||
onDimBottomNavBarRequest: (shouldDim: Boolean) -> Unit,
|
||||
) {
|
||||
composable(
|
||||
composableWithRootPushTransitions(
|
||||
route = VAULT_ROUTE,
|
||||
enterTransition = TransitionProviders.Enter.stay,
|
||||
exitTransition = TransitionProviders.Exit.pushLeft,
|
||||
popEnterTransition = TransitionProviders.Enter.pushRight,
|
||||
popExitTransition = TransitionProviders.Exit.fadeOut,
|
||||
) {
|
||||
VaultScreen(
|
||||
onNavigateToVaultAddItemScreen = onNavigateToVaultAddItemScreen,
|
||||
|
|
Loading…
Add table
Reference in a new issue