From fd854b635c460ecc444f15dfc70b2611ed314e12 Mon Sep 17 00:00:00 2001 From: null Date: Tue, 30 Jun 2026 20:43:10 -0500 Subject: [PATCH] feat(backup): add RESTORE_REQUEST and RESTORE_CONSENT routes + navigation --- .../app/closer/core/navigation/AppNavigation.kt | 17 +++++++++++++++++ .../java/app/closer/core/navigation/AppRoute.kt | 3 +++ 2 files changed, 20 insertions(+) diff --git a/app/src/main/java/app/closer/core/navigation/AppNavigation.kt b/app/src/main/java/app/closer/core/navigation/AppNavigation.kt index d48653fa..081fa85b 100644 --- a/app/src/main/java/app/closer/core/navigation/AppNavigation.kt +++ b/app/src/main/java/app/closer/core/navigation/AppNavigation.kt @@ -43,6 +43,8 @@ import app.closer.ui.pairing.InviteConfirmScreen import app.closer.ui.pairing.PairPromptScreen import app.closer.ui.pairing.PairingSuccessScreen import app.closer.ui.pairing.RecoveryScreen +import app.closer.ui.pairing.RestoreConsentScreen +import app.closer.ui.pairing.RestoreRequestScreen import app.closer.ui.dates.DateMatchScreen import app.closer.ui.dates.DateMatchesScreen import app.closer.ui.dates.DateBuilderScreen @@ -387,9 +389,24 @@ fun AppNavigation( navController.navigate(AppRoute.HOME) { popUpTo(AppRoute.RECOVERY) { inclusive = true } } + }, + onPartnerRestore = { navController.navigate(AppRoute.RESTORE_REQUEST) } + ) + } + + // Partner-assisted restore (recipient A requests; partner B consents). + composable(route = AppRoute.RESTORE_REQUEST) { + RestoreRequestScreen( + onDone = { + navController.navigate(AppRoute.HOME) { + popUpTo(AppRoute.RESTORE_REQUEST) { inclusive = true } + } } ) } + composable(route = AppRoute.RESTORE_CONSENT) { + RestoreConsentScreen(onDone = { navController.popBackStack() }) + } // Wheel / Category Selection composable(route = AppRoute.CATEGORY_PICKER) { diff --git a/app/src/main/java/app/closer/core/navigation/AppRoute.kt b/app/src/main/java/app/closer/core/navigation/AppRoute.kt index 49e061bd..9f20e0a3 100644 --- a/app/src/main/java/app/closer/core/navigation/AppRoute.kt +++ b/app/src/main/java/app/closer/core/navigation/AppRoute.kt @@ -57,6 +57,9 @@ object AppRoute { const val MEMORY_LANE_CAPSULE = "memory_lane_capsule/{capsuleId}" const val WAITING_FOR_PARTNER = "waiting_for_partner" const val RECOVERY = "recovery" + // Partner-assisted restore: the recovering device requests help; the partner consents + enters the code. + const val RESTORE_REQUEST = "restore_request" + const val RESTORE_CONSENT = "restore_consent" const val YOUR_PROGRESS = "your_progress" const val ACTIVITY = "activity" const val ART_PREVIEW = "art_preview"