summaryrefslogtreecommitdiff
path: root/anastasis/src/main/java/net/taler/anastasis/MainActivity.kt
diff options
context:
space:
mode:
Diffstat (limited to 'anastasis/src/main/java/net/taler/anastasis/MainActivity.kt')
-rw-r--r--anastasis/src/main/java/net/taler/anastasis/MainActivity.kt80
1 files changed, 52 insertions, 28 deletions
diff --git a/anastasis/src/main/java/net/taler/anastasis/MainActivity.kt b/anastasis/src/main/java/net/taler/anastasis/MainActivity.kt
index 80b74bf..3a4ddb8 100644
--- a/anastasis/src/main/java/net/taler/anastasis/MainActivity.kt
+++ b/anastasis/src/main/java/net/taler/anastasis/MainActivity.kt
@@ -19,11 +19,14 @@ import net.taler.anastasis.ui.backup.BackupFinishedScreen
import net.taler.anastasis.ui.backup.EditSecretScreen
import net.taler.anastasis.ui.backup.ReviewPoliciesScreen
import net.taler.anastasis.ui.backup.SelectAuthMethodsScreen
+import net.taler.anastasis.ui.common.LoadingScreen
import net.taler.anastasis.ui.common.SelectContinentScreen
import net.taler.anastasis.ui.common.SelectCountryScreen
import net.taler.anastasis.ui.common.SelectUserAttributesScreen
import net.taler.anastasis.ui.dialogs.ErrorDialog
import net.taler.anastasis.ui.home.HomeScreen
+import net.taler.anastasis.ui.recovery.SelectChallengeScreen
+import net.taler.anastasis.ui.recovery.SelectSecretScreen
import net.taler.anastasis.ui.theme.AnastasisTheme
import net.taler.anastasis.viewmodels.ReducerViewModel
@@ -65,33 +68,54 @@ fun MainNavHost(
}
val navRoute by viewModel.navRoute.collectAsState()
- when (navRoute) {
- Routes.Home.route -> {
- HomeScreen()
- }
- Routes.SelectContinent.route -> {
- SelectContinentScreen()
- }
- Routes.SelectCountry.route -> {
- SelectCountryScreen()
- }
- Routes.SelectUserAttributes.route -> {
- SelectUserAttributesScreen()
- }
- Routes.SelectAuthMethods.route -> {
- SelectAuthMethodsScreen()
- }
- Routes.ReviewPolicies.route -> {
- ReviewPoliciesScreen()
- }
- Routes.EditSecret.route -> {
- EditSecretScreen()
- }
- Routes.BackupFinished.route -> {
- BackupFinishedScreen()
- }
- Routes.RestoreInit.route -> {
- Text("This is the restore session screen!")
+ val tasks by viewModel.tasks.collectAsState()
+ if (tasks.isForegroundLoading) {
+ LoadingScreen()
+ } else {
+ when (navRoute) {
+ Routes.Home.route -> {
+ HomeScreen()
+ }
+
+ Routes.SelectContinent.route -> {
+ SelectContinentScreen()
+ }
+
+ Routes.SelectCountry.route -> {
+ SelectCountryScreen()
+ }
+
+ Routes.SelectUserAttributes.route -> {
+ SelectUserAttributesScreen()
+ }
+
+ Routes.SelectAuthMethods.route -> {
+ SelectAuthMethodsScreen()
+ }
+
+ Routes.ReviewPolicies.route -> {
+ ReviewPoliciesScreen()
+ }
+
+ Routes.EditSecret.route -> {
+ EditSecretScreen()
+ }
+
+ Routes.BackupFinished.route -> {
+ BackupFinishedScreen()
+ }
+
+ Routes.SelectSecret.route -> {
+ SelectSecretScreen()
+ }
+
+ Routes.SelectChallenge.route -> {
+ SelectChallengeScreen()
+ }
+
+ Routes.RestoreInit.route -> {
+ Text("This is the restore session screen!")
+ }
}
}
-}
+} \ No newline at end of file