@@ -39,6 +39,7 @@ import to.bitkit.ui.components.SheetHost
3939import to.bitkit.ui.onboarding.InitializingWalletView
4040import to.bitkit.ui.onboarding.WalletRestoreErrorView
4141import to.bitkit.ui.onboarding.WalletRestoreSuccessView
42+ import to.bitkit.ui.screens.CriticalUpdateScreen
4243import to.bitkit.ui.screens.profile.CreateProfileScreen
4344import to.bitkit.ui.screens.profile.ProfileIntroScreen
4445import to.bitkit.ui.screens.scanner.QrScanningScreen
@@ -136,6 +137,7 @@ import to.bitkit.ui.sheets.BackupSheet
136137import to.bitkit.ui.sheets.LnurlAuthSheet
137138import to.bitkit.ui.sheets.PinSheet
138139import to.bitkit.ui.sheets.SendSheet
140+ import to.bitkit.ui.sheets.UpdateSheet
139141import to.bitkit.ui.theme.TRANSITION_SHEET_MS
140142import to.bitkit.ui.utils.AutoReadClipboardHandler
141143import to.bitkit.ui.utils.Transitions
@@ -209,7 +211,7 @@ fun ContentView(
209211 LaunchedEffect (appViewModel) {
210212 appViewModel.mainScreenEffect.collect {
211213 when (it) {
212- is MainScreenEffect .Navigate -> navController.navigate(it.route)
214+ is MainScreenEffect .Navigate -> navController.navigate(it.route, navOptions = it.navOptions )
213215 is MainScreenEffect .ProcessClipboardAutoRead -> {
214216 val isOnHome = navController.currentDestination?.hasRoute<Routes .Home >() == true
215217 if (! isOnHome) {
@@ -320,6 +322,7 @@ fun ContentView(
320322 onDismiss = { appViewModel.hideSheet() },
321323 sheets = {
322324 when (val sheet = currentSheet) {
325+ null -> Unit
323326 is Sheet .Send -> {
324327 SendSheet (
325328 appViewModel = appViewModel,
@@ -344,7 +347,7 @@ fun ContentView(
344347 is Sheet .Pin -> PinSheet (sheet, appViewModel)
345348 is Sheet .Backup -> BackupSheet (sheet, appViewModel)
346349 is Sheet .LnurlAuth -> LnurlAuthSheet (sheet, appViewModel)
347- null -> Unit
350+ Sheet . Update -> UpdateSheet (onCancel = { appViewModel.hideSheet() })
348351 }
349352 }
350353 ) {
@@ -404,6 +407,7 @@ private fun RootNavHost(
404407 suggestions(navController)
405408 support(navController)
406409 widgets(navController, settingsViewModel, currencyViewModel)
410+ update()
407411
408412 // TODO extract transferNavigation
409413 navigationWithDefaultTransitions<Routes .TransferRoot >(
@@ -1004,6 +1008,12 @@ private fun NavGraphBuilder.suggestions(
10041008 }
10051009}
10061010
1011+ private fun NavGraphBuilder.update () {
1012+ composableWithDefaultTransitions<Routes .CriticalUpdate > {
1013+ CriticalUpdateScreen ()
1014+ }
1015+ }
1016+
10071017private fun NavGraphBuilder.support (
10081018 navController : NavHostController ,
10091019) {
@@ -1657,4 +1667,7 @@ sealed interface Routes {
16571667
16581668 @Serializable
16591669 data object AppStatus : Routes
1670+
1671+ @Serializable
1672+ data object CriticalUpdate : Routes
16601673}
0 commit comments