Rename Login navigation components to Auth (#23)

This commit is contained in:
Caleb Derosier 2023-09-05 10:16:39 -05:00 committed by Álison Fernandes
parent c048d36f0e
commit 915e9d5fd6
4 changed files with 17 additions and 17 deletions

View file

@ -1,4 +1,4 @@
package com.x8bit.bitwarden.ui.feature.login package com.x8bit.bitwarden.ui.feature.auth
import androidx.navigation.NavController import androidx.navigation.NavController
import androidx.navigation.NavGraphBuilder import androidx.navigation.NavGraphBuilder
@ -10,15 +10,15 @@ import com.x8bit.bitwarden.ui.feature.createaccount.navigateToCreateAccount
import com.x8bit.bitwarden.ui.feature.landing.LANDING_ROUTE import com.x8bit.bitwarden.ui.feature.landing.LANDING_ROUTE
import com.x8bit.bitwarden.ui.feature.landing.landingDestination import com.x8bit.bitwarden.ui.feature.landing.landingDestination
const val LOGIN_ROUTE: String = "login" const val AUTH_ROUTE: String = "auth"
/** /**
* Add login destinations to the nav graph. * Add auth destinations to the nav graph.
*/ */
fun NavGraphBuilder.loginDestinations(navController: NavHostController) { fun NavGraphBuilder.authDestinations(navController: NavHostController) {
navigation( navigation(
startDestination = LANDING_ROUTE, startDestination = LANDING_ROUTE,
route = LOGIN_ROUTE, route = AUTH_ROUTE,
) { ) {
createAccountDestinations() createAccountDestinations()
landingDestination( landingDestination(
@ -28,10 +28,10 @@ fun NavGraphBuilder.loginDestinations(navController: NavHostController) {
} }
/** /**
* Navigate to the login screen. Note this will only work if login destination was added * Navigate to the auth screen. Note this will only work if auth destination was added
* via [loginDestinations]. * via [authDestinations].
*/ */
fun NavController.navigateToLogin( fun NavController.navigateToAuth(
navOptions: NavOptions? = null, navOptions: NavOptions? = null,
) { ) {
navigate(LANDING_ROUTE, navOptions) navigate(LANDING_ROUTE, navOptions)

View file

@ -12,8 +12,8 @@ import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import androidx.navigation.navOptions import androidx.navigation.navOptions
import com.x8bit.bitwarden.ui.components.PlaceholderComposable import com.x8bit.bitwarden.ui.components.PlaceholderComposable
import com.x8bit.bitwarden.ui.feature.login.loginDestinations import com.x8bit.bitwarden.ui.feature.auth.authDestinations
import com.x8bit.bitwarden.ui.feature.login.navigateToLogin import com.x8bit.bitwarden.ui.feature.auth.navigateToAuth
/** /**
* Controls root level [NavHost] for the app. * Controls root level [NavHost] for the app.
@ -30,7 +30,7 @@ fun RootNavScreen(
startDestination = SplashRoute, startDestination = SplashRoute,
) { ) {
splashDestinations() splashDestinations()
loginDestinations(navController) authDestinations(navController)
} }
// When state changes, navigate to different root navigation state // When state changes, navigate to different root navigation state
@ -41,7 +41,7 @@ fun RootNavScreen(
} }
} }
when (state) { when (state) {
RootNavState.Login -> navController.navigateToLogin(rootNavOptions) RootNavState.Auth -> navController.navigateToAuth(rootNavOptions)
RootNavState.Splash -> navController.navigateToSplash(rootNavOptions) RootNavState.Splash -> navController.navigateToSplash(rootNavOptions)
} }
} }

View file

@ -20,7 +20,7 @@ class RootNavViewModel @Inject constructor() :
viewModelScope.launch { viewModelScope.launch {
@Suppress("MagicNumber") @Suppress("MagicNumber")
delay(1000) delay(1000)
mutableStateFlow.value = RootNavState.Login mutableStateFlow.value = RootNavState.Auth
} }
} }
@ -32,9 +32,9 @@ class RootNavViewModel @Inject constructor() :
*/ */
sealed class RootNavState { sealed class RootNavState {
/** /**
* Show the login screen. * Show the auth screens.
*/ */
data object Login : RootNavState() data object Auth : RootNavState()
/** /**
* Show the splash screen. * Show the splash screen.

View file

@ -16,11 +16,11 @@ class RootNavViewModelTests : BaseViewModelTest() {
} }
@Test @Test
fun `state should move from splash to login`() = runTest { fun `state should move from splash to auth`() = runTest {
val viewModel = RootNavViewModel() val viewModel = RootNavViewModel()
viewModel.stateFlow.test { viewModel.stateFlow.test {
assert(awaitItem() is RootNavState.Splash) assert(awaitItem() is RootNavState.Splash)
assert(awaitItem() is RootNavState.Login) assert(awaitItem() is RootNavState.Auth)
} }
} }
} }