11package  to.bitkit.ui 
22
3+ import  android.content.Intent 
34import  androidx.compose.runtime.Composable 
45import  androidx.compose.runtime.CompositionLocalProvider 
56import  androidx.compose.runtime.DisposableEffect 
@@ -12,6 +13,7 @@ import androidx.compose.runtime.remember
1213import  androidx.compose.runtime.rememberCoroutineScope 
1314import  androidx.compose.runtime.setValue 
1415import  androidx.compose.ui.platform.LocalContext 
16+ import  androidx.core.net.toUri 
1517import  androidx.hilt.navigation.compose.hiltViewModel 
1618import  androidx.lifecycle.Lifecycle 
1719import  androidx.lifecycle.LifecycleEventObserver 
@@ -29,13 +31,16 @@ import androidx.navigation.toRoute
2931import  kotlinx.coroutines.delay 
3032import  kotlinx.coroutines.launch 
3133import  kotlinx.serialization.Serializable 
34+ import  to.bitkit.env.Env 
3235import  to.bitkit.models.NewTransactionSheetDetails 
3336import  to.bitkit.models.NodeLifecycleState 
3437import  to.bitkit.models.Toast 
3538import  to.bitkit.models.WidgetType 
39+ import  to.bitkit.ui.Routes.ExternalConnection 
3640import  to.bitkit.ui.components.AuthCheckScreen 
3741import  to.bitkit.ui.components.Sheet 
3842import  to.bitkit.ui.components.SheetHost 
43+ import  to.bitkit.ui.components.TimedSheetType 
3944import  to.bitkit.ui.onboarding.InitializingWalletView 
4045import  to.bitkit.ui.onboarding.WalletRestoreErrorView 
4146import  to.bitkit.ui.onboarding.WalletRestoreSuccessView 
@@ -138,11 +143,16 @@ import to.bitkit.ui.settings.support.ReportIssueScreen
138143import  to.bitkit.ui.settings.support.SupportScreen 
139144import  to.bitkit.ui.settings.transactionSpeed.CustomFeeSettingsScreen 
140145import  to.bitkit.ui.settings.transactionSpeed.TransactionSpeedSettingsScreen 
146+ import  to.bitkit.ui.sheets.BackgroundPaymentsIntroSheet 
147+ import  to.bitkit.ui.sheets.BackupRoute 
141148import  to.bitkit.ui.sheets.BackupSheet 
142149import  to.bitkit.ui.sheets.ForceTransferSheet 
150+ import  to.bitkit.ui.sheets.HighBalanceWarningSheet 
143151import  to.bitkit.ui.sheets.LnurlAuthSheet 
144152import  to.bitkit.ui.sheets.PinSheet 
153+ import  to.bitkit.ui.sheets.QuickPayIntroSheet 
145154import  to.bitkit.ui.sheets.SendSheet 
155+ import  to.bitkit.ui.sheets.UpdateSheet 
146156import  to.bitkit.ui.theme.TRANSITION_SHEET_MS 
147157import  to.bitkit.ui.utils.AutoReadClipboardHandler 
148158import  to.bitkit.ui.utils.Transitions 
@@ -321,7 +331,7 @@ fun ContentView(
321331        ) {
322332            AutoReadClipboardHandler ()
323333
324-             val  currentSheet by appViewModel.currentSheet
334+             val  currentSheet by appViewModel.currentSheet.collectAsStateWithLifecycle() 
325335            SheetHost (
326336                shouldExpand =  currentSheet !=  null ,
327337                onDismiss =  { appViewModel.hideSheet() },
@@ -341,7 +351,7 @@ fun ContentView(
341351                            ReceiveSheet (
342352                                walletState =  walletUiState,
343353                                navigateToExternalConnection =  {
344-                                     navController.navigate(Routes . ExternalConnection ())
354+                                     navController.navigate(ExternalConnection ())
345355                                    appViewModel.hideSheet()
346356                                }
347357                            )
@@ -353,6 +363,50 @@ fun ContentView(
353363                        is  Sheet .Backup  ->  BackupSheet (sheet, onDismiss =  { appViewModel.hideSheet() })
354364                        is  Sheet .LnurlAuth  ->  LnurlAuthSheet (sheet, appViewModel)
355365                        Sheet .ForceTransfer  ->  ForceTransferSheet (appViewModel, transferViewModel)
366+                         is  Sheet .TimedSheet  ->  {
367+                             when  (sheet.type) {
368+                                 TimedSheetType .APP_UPDATE  ->  {
369+                                     UpdateSheet (onCancel =  { appViewModel.dismissTimedSheet() })
370+                                 }
371+ 
372+                                 TimedSheetType .BACKUP  ->  {
373+                                     BackupSheet (
374+                                         sheet =  Sheet .Backup (BackupRoute .Intro ),
375+                                         onDismiss =  { appViewModel.dismissTimedSheet() }
376+                                     )
377+                                 }
378+ 
379+                                 TimedSheetType .NOTIFICATIONS  ->  {
380+                                     BackgroundPaymentsIntroSheet (
381+                                         onContinue =  {
382+                                             appViewModel.dismissTimedSheet(skipQueue =  true )
383+                                             navController.navigate(Routes .BackgroundPaymentsSettings )
384+                                             settingsViewModel.setBgPaymentsIntroSeen(true )
385+                                         },
386+                                     )
387+                                 }
388+ 
389+                                 TimedSheetType .QUICK_PAY  ->  {
390+                                     QuickPayIntroSheet (
391+                                         onContinue =  {
392+                                             appViewModel.dismissTimedSheet(skipQueue =  true )
393+                                             navController.navigate(Routes .QuickPaySettings )
394+                                         },
395+                                     )
396+                                 }
397+ 
398+                                 TimedSheetType .HIGH_BALANCE  ->  {
399+                                     HighBalanceWarningSheet (
400+                                         understoodClick =  { appViewModel.dismissTimedSheet() },
401+                                         learnMoreClick =  {
402+                                             val  intent =  Intent (Intent .ACTION_VIEW , Env .STORING_BITCOINS_URL .toUri())
403+                                             context.startActivity(intent)
404+                                             appViewModel.dismissTimedSheet(skipQueue =  true )
405+                                         }
406+                                     )
407+                                 }
408+                             }
409+                         }
356410                    }
357411                }
358412            ) {
0 commit comments