@@ -71,8 +71,6 @@ import to.bitkit.ui.screens.profile.PubkyRingAuthScreen
7171import to.bitkit.ui.screens.profile.PubkyRingAuthViewModel
7272import to.bitkit.ui.screens.recovery.RecoveryMnemonicScreen
7373import to.bitkit.ui.screens.recovery.RecoveryModeScreen
74- import to.bitkit.ui.screens.scanner.QrScanningScreen
75- import to.bitkit.ui.screens.scanner.SCAN_REQUEST_KEY
7674import to.bitkit.ui.screens.settings.DevSettingsScreen
7775import to.bitkit.ui.screens.settings.FeeSettingsScreen
7876import to.bitkit.ui.screens.settings.LdkDebugScreen
@@ -180,13 +178,12 @@ import to.bitkit.ui.sheets.GiftSheet
180178import to.bitkit.ui.sheets.HighBalanceWarningSheet
181179import to.bitkit.ui.sheets.LnurlAuthSheet
182180import to.bitkit.ui.sheets.PinSheet
181+ import to.bitkit.ui.sheets.QrScanningSheet
183182import to.bitkit.ui.sheets.QuickPayIntroSheet
184183import to.bitkit.ui.sheets.SendSheet
185184import to.bitkit.ui.sheets.UpdateSheet
186- import to.bitkit.ui.theme.TRANSITION_SHEET_MS
187185import to.bitkit.ui.utils.AutoReadClipboardHandler
188186import to.bitkit.ui.utils.RequestNotificationPermissions
189- import to.bitkit.ui.utils.Transitions
190187import to.bitkit.ui.utils.composableWithDefaultTransitions
191188import to.bitkit.ui.utils.navigationWithDefaultTransitions
192189import to.bitkit.utils.Logger
@@ -200,7 +197,6 @@ import to.bitkit.viewmodels.RestoreState
200197import to.bitkit.viewmodels.SettingsViewModel
201198import to.bitkit.viewmodels.TransferViewModel
202199import to.bitkit.viewmodels.WalletViewModel
203- import kotlin.time.Duration.Companion.milliseconds
204200
205201@Suppress(" CyclomaticComplexMethod" )
206202@Composable
@@ -417,6 +413,7 @@ fun ContentView(
417413 )
418414
419415 is Sheet .Gift -> GiftSheet (sheet, appViewModel)
416+ Sheet .QrScanner -> QrScanningSheet (appViewModel)
420417 is Sheet .TimedSheet -> {
421418 when (sheet.type) {
422419 TimedSheetType .APP_UPDATE -> {
@@ -490,7 +487,7 @@ fun ContentView(
490487 TabBar (
491488 onSendClick = { appViewModel.showSheet(Sheet .Send ()) },
492489 onReceiveClick = { appViewModel.showSheet(Sheet .Receive ) },
493- onScanClick = { navController.navigateToScanner () },
490+ onScanClick = { appViewModel.showScannerSheet () },
494491 modifier = Modifier .align(Alignment .BottomCenter )
495492 )
496493 }
@@ -560,7 +557,6 @@ private fun RootNavHost(
560557 cjitDetailSettings(navController)
561558 lightningConnections(navController)
562559 activityItem(activityListViewModel, navController)
563- qrScanner(appViewModel, navController)
564560 authCheck(navController)
565561 logs(navController)
566562 suggestions(navController)
@@ -702,7 +698,7 @@ private fun RootNavHost(
702698 }
703699 composableWithDefaultTransitions<Routes .FundingAdvanced > {
704700 FundingAdvancedScreen (
705- onLnurl = { navController.navigateToScanner () },
701+ onLnurl = { appViewModel.showScannerSheet () },
706702 onManual = { navController.navigateTo(Routes .ExternalNav ) },
707703 onBackClick = { navController.popBackStack() },
708704 )
@@ -717,10 +713,13 @@ private fun RootNavHost(
717713
718714 ExternalConnectionScreen (
719715 route = route,
720- savedStateHandle = it.savedStateHandle,
721716 viewModel = viewModel,
722717 onNodeConnected = { navController.navigateTo(Routes .ExternalAmount ) },
723- onScanClick = { navController.navigateToScanner(isCalledForResult = true ) },
718+ onScanClick = {
719+ appViewModel.showScannerSheet {
720+ viewModel.parseNodeUri(it)
721+ }
722+ },
724723 onBackClick = { navController.popBackStack() },
725724 )
726725 }
@@ -898,7 +897,7 @@ private fun NavGraphBuilder.settings(
898897 VssDebugScreen (navController)
899898 }
900899 composableWithDefaultTransitions<Routes .ProbingTool > {
901- ProbingToolScreen (it.savedStateHandle, navController)
900+ ProbingToolScreen (navController)
902901 }
903902 composableWithDefaultTransitions<Routes .FeeSettings > {
904903 FeeSettingsScreen (navController)
@@ -922,6 +921,7 @@ private fun NavGraphBuilder.contacts(
922921 ContactsScreen (
923922 viewModel = viewModel,
924923 onBackClick = { navController.popBackStack() },
924+ onClickMyProfile = { navController.navigateTo(Routes .Profile ) },
925925 onClickContact = { navController.navigateTo(Routes .ContactDetail (it)) },
926926 )
927927 }
@@ -1055,10 +1055,10 @@ private fun NavGraphBuilder.advancedSettings(navController: NavHostController) {
10551055 CoinSelectPreferenceScreen (navController)
10561056 }
10571057 composableWithDefaultTransitions<Routes .ElectrumConfig > {
1058- ElectrumConfigScreen (it.savedStateHandle, navController)
1058+ ElectrumConfigScreen (navController)
10591059 }
10601060 composableWithDefaultTransitions<Routes .RgsServer > {
1061- RgsServerScreen (it.savedStateHandle, navController)
1061+ RgsServerScreen (navController)
10621062 }
10631063 composableWithDefaultTransitions<Routes .AddressTypePreference > {
10641064 AddressTypePreferenceScreen (navController)
@@ -1250,23 +1250,6 @@ private fun NavGraphBuilder.activityItem(
12501250 }
12511251}
12521252
1253- private fun NavGraphBuilder.qrScanner (
1254- appViewModel : AppViewModel ,
1255- navController : NavHostController ,
1256- ) {
1257- composableWithDefaultTransitions<Routes .QrScanner >(
1258- enterTransition = { Transitions .slideInVertically },
1259- popExitTransition = { Transitions .slideOutVertically },
1260- ) {
1261- QrScanningScreen (navController = navController) { qrCode ->
1262- appViewModel.onScanResult(
1263- data = qrCode,
1264- startDelay = TRANSITION_SHEET_MS .milliseconds,
1265- )
1266- }
1267- }
1268- }
1269-
12701253private fun NavGraphBuilder.authCheck (
12711254 navController : NavHostController ,
12721255) {
@@ -1635,13 +1618,6 @@ fun NavController.navigateToActivityItem(id: String) = navigateTo(Routes.Activit
16351618
16361619fun NavController.navigateToActivityExplore (id : String ) = navigateTo(Routes .ActivityExplore (id))
16371620
1638- fun NavController.navigateToScanner (isCalledForResult : Boolean = false) {
1639- if (isCalledForResult) {
1640- currentBackStackEntry?.savedStateHandle?.set(SCAN_REQUEST_KEY , true )
1641- }
1642- navigateTo(Routes .QrScanner )
1643- }
1644-
16451621fun NavController.navigateToLogDetail (fileName : String ) = navigateTo(Routes .LogDetail (fileName))
16461622
16471623fun NavController.navigateToTransactionSpeedSettings () = navigateTo(Routes .TransactionSpeedSettings )
@@ -1867,9 +1843,6 @@ sealed interface Routes {
18671843 @Serializable
18681844 data class ActivityExplore (val id : String ) : Routes
18691845
1870- @Serializable
1871- data object QrScanner : Routes
1872-
18731846 @Serializable
18741847 data object BuyIntro : Routes
18751848
0 commit comments