17
import 'package:cake_wallet/src/screens/buy/buy_options_page.dart';
18
import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart';
19
import 'package:cake_wallet/src/screens/buy/webview_page.dart';
20
+import 'package:cake_wallet/src/screens/cake_pay/auth/cake_pay_account_page.dart';
21
+import 'package:cake_wallet/src/screens/cake_pay/cake_pay.dart';
22
import 'package:cake_wallet/src/screens/connect_device/connect_device_page.dart';
23
import 'package:cake_wallet/src/screens/connect_device/select_hardware_wallet_account_page.dart';
24
import 'package:cake_wallet/src/screens/contact/contact_list_page.dart';
29
import 'package:cake_wallet/src/screens/dashboard/home_settings_page.dart';
30
import 'package:cake_wallet/src/screens/dashboard/pages/address_page.dart';
31
import 'package:cake_wallet/src/screens/dashboard/pages/nft_details_page.dart';
30
-import 'package:cake_wallet/src/screens/dashboard/sign_page.dart';
32
import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart';
33
+import 'package:cake_wallet/src/screens/dashboard/sign_page.dart';
34
import 'package:cake_wallet/src/screens/disclaimer/disclaimer_page.dart';
35
import 'package:cake_wallet/src/screens/exchange/exchange_page.dart';
36
import 'package:cake_wallet/src/screens/exchange/exchange_template_page.dart';
45
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart';
46
import 'package:cake_wallet/src/screens/nodes/node_create_or_edit_page.dart';
47
import 'package:cake_wallet/src/screens/nodes/pow_node_create_or_edit_page.dart';
46
-import 'package:cake_wallet/src/screens/receive/address_list_page.dart';
47
-import 'package:cake_wallet/src/screens/restore/sweeping_wallet_page.dart';
48
import 'package:cake_wallet/src/screens/order_details/order_details_page.dart';
49
import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart';
50
+import 'package:cake_wallet/src/screens/receive/address_list_page.dart';
51
import 'package:cake_wallet/src/screens/receive/anonpay_invoice_page.dart';
52
import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart';
53
import 'package:cake_wallet/src/screens/receive/fullscreen_qr_page.dart';
70
import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
71
import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
72
import 'package:cake_wallet/src/screens/settings/security_backup_page.dart';
72
-import 'package:cake_wallet/src/screens/cake_pay/auth/cake_pay_account_page.dart';
73
import 'package:cake_wallet/src/screens/settings/silent_payments_settings.dart';
74
import 'package:cake_wallet/src/screens/settings/tor_page.dart';
75
import 'package:cake_wallet/src/screens/settings/trocador_providers_page.dart';
76
-import 'package:cake_wallet/src/screens/settings/tor_page.dart';
76
import 'package:cake_wallet/src/screens/setup_2fa/modify_2fa_page.dart';
77
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa.dart';
78
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_enter_code_page.dart';
84
import 'package:cake_wallet/src/screens/support_chat/support_chat_page.dart';
85
import 'package:cake_wallet/src/screens/support_other_links/support_other_links_page.dart';
86
import 'package:cake_wallet/src/screens/trade_details/trade_details_page.dart';
88
-import 'package:cake_wallet/src/screens/transaction_details/transaction_details_page.dart';
87
import 'package:cake_wallet/src/screens/transaction_details/rbf_details_page.dart';
88
+import 'package:cake_wallet/src/screens/transaction_details/transaction_details_page.dart';
89
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_details_page.dart';
90
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_list_page.dart';
91
import 'package:cake_wallet/src/screens/wallet/wallet_edit_page.dart';
92
import 'package:cake_wallet/src/screens/wallet_connect/wc_connections_listing_view.dart';
93
import 'package:cake_wallet/src/screens/wallet_keys/wallet_keys_page.dart';
94
import 'package:cake_wallet/src/screens/wallet_list/wallet_list_page.dart';
95
+import 'package:cake_wallet/src/screens/wallet_unlock/wallet_unlock_arguments.dart';
96
import 'package:cake_wallet/src/screens/wallet_unlock/wallet_unlock_page.dart';
97
import 'package:cake_wallet/src/screens/welcome/create_welcome_page.dart';
98
import 'package:cake_wallet/store/settings_store.dart';
99
-import 'package:cake_wallet/src/screens/wallet_unlock/wallet_unlock_arguments.dart';
100
-import 'package:cake_wallet/store/settings_store.dart';
99
import 'package:cake_wallet/utils/payment_request.dart';
100
import 'package:cake_wallet/view_model/advanced_privacy_settings_view_model.dart';
101
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
104
import 'package:cake_wallet/view_model/hardware_wallet/ledger_view_model.dart';
105
import 'package:cake_wallet/view_model/monero_account_list/account_list_item.dart';
106
import 'package:cake_wallet/view_model/node_list/node_create_or_edit_view_model.dart';
109
-import 'package:cake_wallet/view_model/seed_type_view_model.dart';
107
+import 'package:cake_wallet/view_model/seed_settings_view_model.dart';
108
import 'package:cake_wallet/view_model/wallet_hardware_restore_view_model.dart';
109
import 'package:cake_wallet/view_model/wallet_new_vm.dart';
110
import 'package:cake_wallet/wallet_type_utils.dart';
118
import 'package:flutter/cupertino.dart';
119
import 'package:flutter/material.dart';
120
import 'package:flutter/services.dart';
123
-import 'package:cake_wallet/src/screens/cake_pay/cake_pay.dart';
121
+
122
import 'src/screens/dashboard/pages/nft_import_page.dart';
123
124
late RouteSettings currentRouteSettings;
133
case Routes.newWalletFromWelcome:
134
if (SettingsStoreBase.walletPasswordDirectInput) {
135
if (availableWalletTypes.length == 1) {
138
- return createRoute(RouteSettings(name: Routes.newWallet, arguments: availableWalletTypes.first));
136
+ return createRoute(
137
+ RouteSettings(name: Routes.newWallet, arguments: availableWalletTypes.first));
138
} else {
139
return createRoute(RouteSettings(name: Routes.newWalletType));
140
}
161
case Routes.newWallet:
162
final type = settings.arguments as WalletType;
163
final walletNewVM = getIt.get<WalletNewVM>(param1: type);
165
- final seedTypeViewModel = getIt.get<SeedTypeViewModel>();
164
+ final seedSettingsViewModel = getIt.get<SeedSettingsViewModel>();
165
166
return CupertinoPageRoute<void>(
168
- builder: (_) => NewWalletPage(walletNewVM, seedTypeViewModel));
167
+ builder: (_) => NewWalletPage(walletNewVM, seedSettingsViewModel));
168
169
case Routes.chooseHardwareWalletAccount:
170
final arguments = settings.arguments as List<dynamic>;
347
case Routes.auth:
348
return MaterialPageRoute<void>(
349
fullscreenDialog: true,
351
- builder: (_)
352
- => SettingsStoreBase.walletPasswordDirectInput
353
- ? getIt.get<WalletUnlockPage>(
354
- param1: WalletUnlockArguments(
350
+ builder: (_) => SettingsStoreBase.walletPasswordDirectInput
351
+ ? getIt.get<WalletUnlockPage>(
352
+ param1: WalletUnlockArguments(
353
callback: settings.arguments as OnAuthenticationFinished),
356
- instanceName: 'wallet_unlock_verifiable',
357
- param2: true)
358
- : getIt.get<AuthPage>(
359
- param1: settings.arguments as OnAuthenticationFinished,
360
- param2: true));
354
+ instanceName: 'wallet_unlock_verifiable',
355
+ param2: true)
356
+ : getIt.get<AuthPage>(
357
+ param1: settings.arguments as OnAuthenticationFinished, param2: true));
358
359
case Routes.totpAuthCodePage:
360
final args = settings.arguments as TotpAuthArgumentsModel;
368
case Routes.walletUnlockLoadable:
369
return MaterialPageRoute<void>(
370
fullscreenDialog: true,
374
- builder: (_)
375
- => getIt.get<WalletUnlockPage>(
371
+ builder: (_) => getIt.get<WalletUnlockPage>(
372
param1: settings.arguments as WalletUnlockArguments,
377
- instanceName: 'wallet_unlock_loadable',
373
+ instanceName: 'wallet_unlock_loadable',
374
param2: true));
375
376
case Routes.unlock:
377
return MaterialPageRoute<void>(
378
fullscreenDialog: true,
383
- builder: (_)
384
- => SettingsStoreBase.walletPasswordDirectInput
385
- ? WillPopScope(
386
- child: getIt.get<WalletUnlockPage>(
379
+ builder: (_) => SettingsStoreBase.walletPasswordDirectInput
380
+ ? WillPopScope(
381
+ child: getIt.get<WalletUnlockPage>(
382
param1: WalletUnlockArguments(
388
- callback: settings.arguments as OnAuthenticationFinished),
383
+ callback: settings.arguments as OnAuthenticationFinished),
384
param2: false,
385
instanceName: 'wallet_unlock_verifiable'),
391
- onWillPop: () async => false)
392
- : WillPopScope(
393
- child: getIt.get<AuthPage>(
394
- param1: settings.arguments as OnAuthenticationFinished,
395
- param2: false),
386
+ onWillPop: () async => false)
387
+ : WillPopScope(
388
+ child: getIt.get<AuthPage>(
389
+ param1: settings.arguments as OnAuthenticationFinished, param2: false),
390
onWillPop: () async => false));
391
392
case Routes.silentPaymentsSettings:
431
return CupertinoPageRoute<void>(
432
builder: (context) => WillPopScope(
433
child: SettingsStoreBase.walletPasswordDirectInput
440
- ? getIt.get<WalletUnlockPage>(instanceName: 'wallet_password_login')
441
- : getIt.get<AuthPage>(instanceName: 'login'),
434
+ ? getIt.get<WalletUnlockPage>(instanceName: 'wallet_password_login')
435
+ : getIt.get<AuthPage>(instanceName: 'login'),
436
onWillPop: () async =>
443
- // FIX-ME: Additional check does it works correctly
444
- (await SystemChannels.platform.invokeMethod<bool>('SystemNavigator.pop') ?? false)),
437
+ // FIX-ME: Additional check does it works correctly
438
+ (await SystemChannels.platform.invokeMethod<bool>('SystemNavigator.pop') ??
439
+ false)),
440
fullscreenDialog: true);
441
442
case Routes.newPowNode:
532
533
case Routes.support:
534
return CupertinoPageRoute<void>(
540
- fullscreenDialog: true,
541
- builder: (_) => getIt.get<SupportPage>());
535
+ fullscreenDialog: true, builder: (_) => getIt.get<SupportPage>());
536
537
case Routes.supportLiveChat:
538
return CupertinoPageRoute<void>(builder: (_) => getIt.get<SupportChatPage>());
561
562
case Routes.cakePayBuyCardPage:
563
final args = settings.arguments as List;
570
- return CupertinoPageRoute<void>(
571
- builder: (_) => getIt.get<CakePayBuyCardPage>(param1: args));
564
+ return CupertinoPageRoute<void>(builder: (_) => getIt.get<CakePayBuyCardPage>(param1: args));
565
566
case Routes.cakePayBuyCardDetailPage:
567
final args = settings.arguments as List;
575
576
case Routes.cakePayVerifyOtpPage:
577
final args = settings.arguments as List;
585
- return CupertinoPageRoute<void>(builder: (_) => getIt.get<CakePayVerifyOtpPage>(param1: args));
578
+ return CupertinoPageRoute<void>(
579
+ builder: (_) => getIt.get<CakePayVerifyOtpPage>(param1: args));
580
581
case Routes.cakePayAccountPage:
582
return CupertinoPageRoute<void>(builder: (_) => getIt.get<CakePayAccountPage>());
591
case Routes.advancedPrivacySettings:
592
final args = settings.arguments as Map<String, dynamic>;
593
final type = args['type'] as WalletType;
594
+ final isFromRestore = args['isFromRestore'] as bool? ?? false;
595
final useTestnet = args['useTestnet'] as bool;
596
final toggleTestnet = args['toggleTestnet'] as Function(bool? val);
597
598
return CupertinoPageRoute<void>(
599
builder: (_) => AdvancedPrivacySettingsPage(
605
- useTestnet,
606
- toggleTestnet,
607
- getIt.get<AdvancedPrivacySettingsViewModel>(param1: type),
608
- getIt.get<NodeCreateOrEditViewModel>(param1: type, param2: false),
609
- getIt.get<SeedTypeViewModel>(),
600
+ isFromRestore: isFromRestore,
601
+ useTestnet: useTestnet,
602
+ toggleUseTestnet: toggleTestnet,
603
+ advancedPrivacySettingsViewModel:
604
+ getIt.get<AdvancedPrivacySettingsViewModel>(param1: type),
605
+ nodeViewModel: getIt.get<NodeCreateOrEditViewModel>(param1: type, param2: false),
606
+ seedSettingsViewModel: getIt.get<SeedSettingsViewModel>(),
607
));
608
609
case Routes.anonPayInvoicePage:
706
getIt.get<SignViewModel>(),
707
),
708
);
712
-
709
+
710
case Routes.connectDevices:
711
final params = settings.arguments as ConnectDevicePageParams;
712
return MaterialPageRoute<void>(