0
0
mirror of https://github.com/thunderbird/thunderbird-android.git synced 2024-09-19 19:52:14 +02:00

Add success screen to onboarding navigation

This commit is contained in:
Wolf-Martell Montwé 2023-12-08 15:58:01 +01:00
parent 71314fbc4e
commit 2c2a731bab
No known key found for this signature in database
GPG Key ID: 6D45B21512ACBF72
2 changed files with 14 additions and 1 deletions

View File

@ -21,4 +21,5 @@ dependencies {
implementation(projects.feature.onboarding.welcome)
implementation(projects.feature.account.setup)
implementation(projects.feature.onboarding.permissions)
implementation(projects.feature.onboarding.success)
}

View File

@ -12,12 +12,14 @@ import androidx.navigation.compose.rememberNavController
import app.k9mail.feature.account.setup.navigation.AccountSetupNavHost
import app.k9mail.feature.onboarding.permissions.domain.PermissionsDomainContract.UseCase.HasRuntimePermissions
import app.k9mail.feature.onboarding.permissions.ui.PermissionsScreen
import app.k9mail.feature.onboarding.success.ui.SuccessScreen
import app.k9mail.feature.onboarding.welcome.ui.WelcomeScreen
import org.koin.compose.koinInject
private const val NESTED_NAVIGATION_ROUTE_WELCOME = "welcome"
private const val NESTED_NAVIGATION_ROUTE_ACCOUNT_SETUP = "account_setup"
private const val NESTED_NAVIGATION_ROUTE_PERMISSIONS = "permissions"
private const val NESTED_NAVIGATION_ROUTE_SUCCESS = "success"
private fun NavController.navigateToAccountSetup() {
navigate(NESTED_NAVIGATION_ROUTE_ACCOUNT_SETUP)
@ -27,6 +29,10 @@ private fun NavController.navigateToPermissions() {
navigate(NESTED_NAVIGATION_ROUTE_PERMISSIONS)
}
private fun NavController.navigateToSuccess() {
navigate(NESTED_NAVIGATION_ROUTE_SUCCESS)
}
@Composable
fun OnboardingNavHost(
onImport: () -> Unit,
@ -63,7 +69,13 @@ fun OnboardingNavHost(
composable(route = NESTED_NAVIGATION_ROUTE_PERMISSIONS) {
PermissionsScreen(
onNext = { onFinish(requireNotNull(accountUuid)) },
onNext = { navController.navigateToSuccess() },
)
}
composable(route = NESTED_NAVIGATION_ROUTE_SUCCESS) {
SuccessScreen(
onGoToInboxClick = { onFinish(requireNotNull(accountUuid)) },
)
}
}