2022-07-06 02:49:52 +00:00
|
|
|
import 'package:cake_wallet/entities/cake_phone_entities/phone_number_service.dart';
|
2020-09-26 19:17:31 +00:00
|
|
|
import 'package:cake_wallet/entities/contact_record.dart';
|
2021-04-12 18:22:22 +00:00
|
|
|
import 'package:cake_wallet/buy/order.dart';
|
2021-01-13 16:43:34 +00:00
|
|
|
import 'package:cake_wallet/src/screens/backup/backup_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/backup/edit_backup_password_page.dart';
|
2021-04-13 18:40:44 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart';
|
2021-04-12 18:22:22 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/pre_order_page.dart';
|
2022-07-28 17:03:16 +00:00
|
|
|
import 'package:cake_wallet/src/screens/ionia/cards/ionia_account_cards_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/ionia/cards/ionia_account_page.dart';
|
2022-09-02 13:47:45 +00:00
|
|
|
import 'package:cake_wallet/src/screens/ionia/cards/ionia_custom_redeem_page.dart';
|
2022-07-28 17:03:16 +00:00
|
|
|
import 'package:cake_wallet/src/screens/ionia/cards/ionia_custom_tip_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/ionia/cards/ionia_gift_card_detail_page.dart';
|
2022-09-02 13:47:45 +00:00
|
|
|
import 'package:cake_wallet/src/screens/ionia/cards/ionia_more_options_page.dart';
|
2022-06-30 16:44:18 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/cake_phone_auth_page.dart';
|
2022-07-06 03:51:19 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/phone_number_service/auto_renew_settings_page.dart';
|
2021-03-12 19:04:37 +00:00
|
|
|
import 'package:cake_wallet/src/screens/order_details/order_details_page.dart';
|
2020-10-22 18:24:24 +00:00
|
|
|
import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart';
|
2021-01-13 16:43:34 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_from_backup_page.dart';
|
2020-10-13 21:11:04 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/wallet_restore_page.dart';
|
2020-11-27 11:08:17 +00:00
|
|
|
import 'package:cake_wallet/src/screens/seed/pre_seed_page.dart';
|
2021-02-25 18:25:52 +00:00
|
|
|
import 'package:cake_wallet/src/screens/support/support_page.dart';
|
2021-05-27 17:57:51 +00:00
|
|
|
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_details_page.dart';
|
2021-05-25 17:32:36 +00:00
|
|
|
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_list_page.dart';
|
2022-07-04 15:15:17 +00:00
|
|
|
import 'package:cake_wallet/view_model/cake_phone/phone_plan_view_model.dart';
|
2020-11-17 18:16:58 +00:00
|
|
|
import 'package:cake_wallet/view_model/monero_account_list/account_list_item.dart';
|
2020-01-04 19:31:52 +00:00
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:cake_wallet/routes.dart';
|
|
|
|
import 'package:cake_wallet/generated/i18n.dart';
|
2020-09-21 11:50:26 +00:00
|
|
|
import 'package:cake_wallet/di.dart';
|
|
|
|
import 'package:cake_wallet/utils/language_list.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_new_vm.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_restoration_from_seed_vm.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_restoration_from_keys_vm.dart';
|
|
|
|
import 'package:cake_wallet/exchange/trade.dart';
|
2021-12-24 12:37:24 +00:00
|
|
|
import 'package:cw_core/transaction_info.dart';
|
|
|
|
import 'package:cw_core/wallet_type.dart';
|
2020-09-21 11:50:26 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/dashboard_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/seed/wallet_seed_page.dart';
|
2020-01-04 19:31:52 +00:00
|
|
|
import 'package:cake_wallet/src/screens/auth/auth_page.dart';
|
2020-07-06 20:09:03 +00:00
|
|
|
import 'package:cake_wallet/src/screens/nodes/node_create_or_edit_page.dart';
|
2020-01-04 19:31:52 +00:00
|
|
|
import 'package:cake_wallet/src/screens/nodes/nodes_list_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/receive/receive_page.dart';
|
2020-06-20 07:10:00 +00:00
|
|
|
import 'package:cake_wallet/src/screens/subaddress/address_edit_or_create_page.dart';
|
2020-01-04 19:31:52 +00:00
|
|
|
import 'package:cake_wallet/src/screens/wallet_list/wallet_list_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_pin_code/setup_pin_code.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_options_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_wallet_options_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_wallet_from_seed_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_wallet_from_keys_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/send/send_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/disclaimer/disclaimer_page.dart';
|
2020-02-28 20:16:39 +00:00
|
|
|
import 'package:cake_wallet/src/screens/seed_language/seed_language_page.dart';
|
2020-01-04 19:31:52 +00:00
|
|
|
import 'package:cake_wallet/src/screens/transaction_details/transaction_details_page.dart';
|
2020-07-06 20:09:03 +00:00
|
|
|
import 'package:cake_wallet/src/screens/monero_accounts/monero_account_edit_or_create_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/contact/contact_list_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/contact/contact_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/wallet_keys/wallet_keys_page.dart';
|
2020-01-04 19:31:52 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_wallet_from_seed_details.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange/exchange_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/settings.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/rescan/rescan_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/faq/faq_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/trade_details/trade_details_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/welcome/create_welcome_page.dart';
|
2020-04-28 17:50:12 +00:00
|
|
|
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart';
|
2020-05-08 16:22:56 +00:00
|
|
|
import 'package:cake_wallet/src/screens/send/send_template_page.dart';
|
2020-05-14 17:29:10 +00:00
|
|
|
import 'package:cake_wallet/src/screens/exchange/exchange_template_page.dart';
|
2020-09-21 11:50:26 +00:00
|
|
|
import 'package:cake_wallet/src/screens/exchange_trade/exchange_confirm_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_page.dart';
|
2021-03-26 11:29:43 +00:00
|
|
|
import 'package:flutter/services.dart';
|
2022-03-30 15:57:04 +00:00
|
|
|
import 'package:cake_wallet/wallet_types.g.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/widgets/address_page.dart';
|
2022-06-23 09:25:00 +00:00
|
|
|
import 'package:cake_wallet/src/screens/receive/fullscreen_qr_page.dart';
|
2022-07-28 17:03:16 +00:00
|
|
|
import 'package:cake_wallet/src/screens/ionia/ionia.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/ionia/cards/ionia_payment_status_page.dart';
|
|
|
|
import 'package:cake_wallet/anypay/any_pay_payment_committed_info.dart';
|
|
|
|
import 'package:cake_wallet/ionia/ionia_any_pay_payment_info.dart';
|
2022-06-30 16:44:18 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/cake_phone_welcome_page.dart';
|
2022-07-01 12:57:55 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/cake_phone_verification_page.dart';
|
2022-07-01 14:24:44 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/cake_phone_products_page.dart';
|
2022-07-06 03:51:19 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/phone_number_service/phone_number_product_page.dart';
|
2022-07-05 15:34:16 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/active_services_page.dart';
|
2022-07-06 03:51:19 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/phone_number_service/number_settings_page.dart';
|
2022-07-06 16:03:55 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_phone/add_balance_page.dart';
|
2020-09-14 12:08:33 +00:00
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
late RouteSettings currentRouteSettings;
|
2021-11-05 15:08:45 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
Route<dynamic> createRoute(RouteSettings settings) {
|
2021-11-05 15:08:45 +00:00
|
|
|
currentRouteSettings = settings;
|
2022-06-23 09:25:00 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
switch (settings.name) {
|
|
|
|
case Routes.welcome:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => createWelcomePage());
|
|
|
|
|
|
|
|
case Routes.newWalletFromWelcome:
|
|
|
|
return CupertinoPageRoute<void>(
|
2020-11-12 16:31:53 +00:00
|
|
|
builder: (_) => getIt.get<SetupPinCodePage>(
|
2022-01-03 18:25:48 +00:00
|
|
|
param1: (PinCodeState<PinCodeWidget> context, dynamic _) {
|
2022-06-23 09:25:00 +00:00
|
|
|
if (availableWalletTypes.length == 1) {
|
2022-03-30 15:57:04 +00:00
|
|
|
Navigator.of(context.context).pushNamed(Routes.newWallet, arguments: availableWalletTypes.first);
|
|
|
|
} else {
|
|
|
|
Navigator.of(context.context).pushNamed(Routes.newWalletType);
|
|
|
|
}
|
2022-01-03 18:25:48 +00:00
|
|
|
}),
|
2020-10-19 11:20:24 +00:00
|
|
|
fullscreenDialog: true);
|
|
|
|
|
|
|
|
case Routes.newWalletType:
|
|
|
|
return CupertinoPageRoute<void>(
|
2020-11-12 16:31:53 +00:00
|
|
|
builder: (_) => getIt.get<NewWalletTypePage>(
|
2020-12-21 20:20:46 +00:00
|
|
|
param1: (BuildContext context, WalletType type) =>
|
|
|
|
Navigator.of(context)
|
2022-10-12 17:09:57 +00:00
|
|
|
.pushNamed(Routes.newWallet, arguments: type)));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.newWallet:
|
2020-11-30 17:17:44 +00:00
|
|
|
final type = settings.arguments as WalletType;
|
2020-10-19 11:20:24 +00:00
|
|
|
final walletNewVM = getIt.get<WalletNewVM>(param1: type);
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => NewWalletPage(walletNewVM));
|
|
|
|
|
|
|
|
case Routes.setupPin:
|
2022-10-12 17:09:57 +00:00
|
|
|
Function(PinCodeState<PinCodeWidget>, String)? callback;
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2020-10-24 14:35:55 +00:00
|
|
|
if (settings.arguments is Function(PinCodeState<PinCodeWidget>, String)) {
|
2020-11-06 18:54:00 +00:00
|
|
|
callback =
|
|
|
|
settings.arguments as Function(PinCodeState<PinCodeWidget>, String);
|
2020-10-19 11:20:24 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<SetupPinCodePage>(param1: callback));
|
|
|
|
|
2021-12-30 17:20:00 +00:00
|
|
|
case Routes.moneroRestoreWalletFromWelcome:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<SetupPinCodePage>(
|
|
|
|
param1: (PinCodeState<PinCodeWidget> context, dynamic _) =>
|
|
|
|
Navigator.pushNamed(
|
|
|
|
context.context, Routes.restoreWallet, arguments: WalletType.monero)),
|
|
|
|
fullscreenDialog: true);
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.restoreWalletType:
|
|
|
|
return CupertinoPageRoute<void>(
|
2020-11-12 16:31:53 +00:00
|
|
|
builder: (_) => getIt.get<NewWalletTypePage>(
|
|
|
|
param1: (BuildContext context, WalletType type) =>
|
|
|
|
Navigator.of(context)
|
2020-11-30 17:17:44 +00:00
|
|
|
.pushNamed(Routes.restoreWallet, arguments: type),
|
2020-11-12 16:31:53 +00:00
|
|
|
param2: false));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.restoreOptions:
|
|
|
|
return CupertinoPageRoute<void>(
|
2021-01-15 17:41:30 +00:00
|
|
|
builder: (_) => getIt.get<RestoreOptionsPage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.restoreWalletOptions:
|
|
|
|
final type = WalletType.monero; //settings.arguments as WalletType;
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => RestoreWalletOptionsPage(
|
|
|
|
type: type,
|
|
|
|
onRestoreFromSeed: (context) {
|
|
|
|
final route = type == WalletType.monero
|
|
|
|
? Routes.seedLanguage
|
|
|
|
: Routes.restoreWalletFromSeed;
|
|
|
|
final args = type == WalletType.monero
|
|
|
|
? [type, Routes.restoreWalletFromSeed]
|
|
|
|
: [type];
|
|
|
|
|
|
|
|
Navigator.of(context).pushNamed(route, arguments: args);
|
|
|
|
},
|
|
|
|
onRestoreFromKeys: (context) {
|
|
|
|
final route = type == WalletType.monero
|
|
|
|
? Routes.seedLanguage
|
|
|
|
: Routes.restoreWalletFromKeys;
|
|
|
|
final args = type == WalletType.monero
|
|
|
|
? [type, Routes.restoreWalletFromKeys]
|
|
|
|
: [type];
|
|
|
|
|
|
|
|
Navigator.of(context).pushNamed(route, arguments: args);
|
|
|
|
}));
|
|
|
|
|
|
|
|
case Routes.restoreWalletOptionsFromWelcome:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<SetupPinCodePage>(
|
2020-10-26 09:38:01 +00:00
|
|
|
param1: (PinCodeState<PinCodeWidget> context, dynamic _) =>
|
2020-12-21 20:20:46 +00:00
|
|
|
Navigator.pushNamed(
|
|
|
|
context.context, Routes.restoreWalletType)),
|
2020-10-19 11:20:24 +00:00
|
|
|
fullscreenDialog: true);
|
|
|
|
|
|
|
|
case Routes.seed:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<WalletSeedPage>(param1: settings.arguments as bool));
|
|
|
|
|
|
|
|
case Routes.restoreWallet:
|
|
|
|
return MaterialPageRoute<void>(
|
2020-12-21 20:20:46 +00:00
|
|
|
builder: (_) => getIt.get<WalletRestorePage>(
|
|
|
|
param1: settings.arguments as WalletType));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.restoreWalletFromSeed:
|
2020-11-12 16:31:53 +00:00
|
|
|
final type = settings.arguments as WalletType;
|
2020-10-19 11:20:24 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => RestoreWalletFromSeedPage(type: type));
|
|
|
|
|
|
|
|
case Routes.restoreWalletFromKeys:
|
|
|
|
final args = settings.arguments as List<dynamic>;
|
|
|
|
final type = args.first as WalletType;
|
|
|
|
final language =
|
|
|
|
type == WalletType.monero ? args[1] as String : LanguageList.english;
|
|
|
|
|
|
|
|
final walletRestorationFromKeysVM =
|
|
|
|
getIt.get<WalletRestorationFromKeysVM>(param1: [type, language]);
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => RestoreWalletFromKeysPage(
|
|
|
|
walletRestorationFromKeysVM: walletRestorationFromKeysVM));
|
|
|
|
|
|
|
|
case Routes.dashboard:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<DashboardPage>());
|
|
|
|
|
|
|
|
case Routes.send:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<SendPage>());
|
|
|
|
|
|
|
|
case Routes.sendTemplate:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
|
|
|
builder: (_) => getIt.get<SendTemplatePage>());
|
|
|
|
|
|
|
|
case Routes.receive:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<ReceivePage>());
|
|
|
|
|
2022-03-30 15:57:04 +00:00
|
|
|
case Routes.addressPage:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<AddressPage>());
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.transactionDetails:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
2020-11-06 18:54:00 +00:00
|
|
|
builder: (_) => getIt.get<TransactionDetailsPage>(
|
|
|
|
param1: settings.arguments as TransactionInfo));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.newSubaddress:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<AddressEditOrCreatePage>(param1: settings.arguments));
|
|
|
|
|
|
|
|
case Routes.disclaimer:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => DisclaimerPage());
|
|
|
|
|
|
|
|
case Routes.readDisclaimer:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => DisclaimerPage(isReadOnly: true));
|
|
|
|
|
|
|
|
case Routes.seedLanguage:
|
|
|
|
final args = settings.arguments as List<dynamic>;
|
|
|
|
final type = args.first as WalletType;
|
|
|
|
final redirectRoute = args[1] as String;
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) {
|
|
|
|
return SeedLanguage(
|
|
|
|
onConfirm: (context, lang) => Navigator.of(context)
|
|
|
|
.popAndPushNamed(redirectRoute, arguments: [type, lang]));
|
|
|
|
});
|
|
|
|
|
|
|
|
case Routes.walletList:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<WalletListPage>());
|
|
|
|
|
|
|
|
case Routes.auth:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
|
|
|
builder: (_) => getIt.get<AuthPage>(
|
|
|
|
param1: settings.arguments as OnAuthenticationFinished,
|
|
|
|
param2: true));
|
|
|
|
|
|
|
|
case Routes.unlock:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
2021-04-22 15:56:14 +00:00
|
|
|
builder: (_) => WillPopScope(
|
|
|
|
child: getIt.get<AuthPage>(
|
|
|
|
param1: settings.arguments as OnAuthenticationFinished,
|
|
|
|
param2: false),
|
|
|
|
onWillPop: () async => false));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.nodeList:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<NodeListPage>());
|
|
|
|
|
|
|
|
case Routes.newNode:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<NodeCreateOrEditPage>());
|
|
|
|
|
|
|
|
case Routes.login:
|
|
|
|
return CupertinoPageRoute<void>(
|
2021-03-26 11:29:43 +00:00
|
|
|
builder: (context) => WillPopScope(
|
|
|
|
child: getIt.get<AuthPage>(instanceName: 'login'),
|
2022-10-12 17:09:57 +00:00
|
|
|
onWillPop: () async =>
|
|
|
|
// FIX-ME: Additional check does it works correctly
|
|
|
|
(await SystemChannels.platform.invokeMethod<bool>('SystemNavigator.pop') ?? false)),
|
2020-10-19 11:20:24 +00:00
|
|
|
fullscreenDialog: true);
|
|
|
|
|
|
|
|
case Routes.accountCreation:
|
|
|
|
return CupertinoPageRoute<String>(
|
2020-11-17 18:16:58 +00:00
|
|
|
builder: (_) => getIt.get<MoneroAccountEditOrCreatePage>(
|
2021-01-13 16:43:34 +00:00
|
|
|
param1: settings.arguments as AccountListItem));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.addressBook:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<ContactListPage>(param1: true));
|
|
|
|
|
|
|
|
case Routes.pickerAddressBook:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<ContactListPage>(param1: false));
|
|
|
|
|
|
|
|
case Routes.addressBookAddContact:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<ContactPage>(
|
2022-10-12 17:09:57 +00:00
|
|
|
param1: settings.arguments as ContactRecord?));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.showKeys:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<WalletKeysPage>(), fullscreenDialog: true);
|
|
|
|
|
|
|
|
case Routes.exchangeTrade:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<ExchangeTradePage>());
|
|
|
|
|
|
|
|
case Routes.exchangeConfirm:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<ExchangeConfirmPage>());
|
|
|
|
|
|
|
|
case Routes.tradeDetails:
|
|
|
|
return MaterialPageRoute<void>(
|
2020-12-18 12:42:53 +00:00
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<TradeDetailsPage>(param1: settings.arguments as Trade));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2021-03-12 19:04:37 +00:00
|
|
|
case Routes.orderDetails:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<OrderDetailsPage>(param1: settings.arguments as Order));
|
|
|
|
|
2021-04-12 18:22:22 +00:00
|
|
|
case Routes.preOrder:
|
2021-03-17 10:32:22 +00:00
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) =>
|
2021-04-12 18:22:22 +00:00
|
|
|
getIt.get<PreOrderPage>());
|
|
|
|
|
2021-04-13 18:40:44 +00:00
|
|
|
case Routes.buyWebView:
|
2021-04-15 17:10:23 +00:00
|
|
|
final args = settings.arguments as List;
|
|
|
|
|
2021-03-17 10:32:22 +00:00
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) =>
|
2021-04-15 17:10:23 +00:00
|
|
|
getIt.get<BuyWebViewPage>(param1: args));
|
2021-03-17 10:32:22 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.restoreWalletFromSeedDetails:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
final walletRestorationFromSeedVM =
|
|
|
|
getIt.get<WalletRestorationFromSeedVM>(param1: args);
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => RestoreWalletFromSeedDetailsPage(
|
|
|
|
walletRestorationFromSeedVM: walletRestorationFromSeedVM));
|
|
|
|
|
|
|
|
case Routes.exchange:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<ExchangePage>());
|
|
|
|
|
|
|
|
case Routes.exchangeTemplate:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<ExchangeTemplatePage>());
|
|
|
|
|
|
|
|
case Routes.settings:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<SettingsPage>());
|
|
|
|
|
|
|
|
case Routes.rescan:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<RescanPage>());
|
|
|
|
|
|
|
|
case Routes.faq:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<FaqPage>());
|
|
|
|
|
2020-11-27 11:08:17 +00:00
|
|
|
case Routes.preSeed:
|
|
|
|
return MaterialPageRoute<void>(
|
2020-12-21 20:20:46 +00:00
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<PreSeedPage>(param1: settings.arguments as WalletType));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
|
|
|
case Routes.backup:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<BackupPage>());
|
|
|
|
|
|
|
|
case Routes.editBackupPassword:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<EditBackupPasswordPage>());
|
|
|
|
|
|
|
|
case Routes.restoreFromBackup:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<RestoreFromBackupPage>());
|
2020-11-27 11:08:17 +00:00
|
|
|
|
2021-02-25 18:25:52 +00:00
|
|
|
case Routes.support:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<SupportPage>());
|
|
|
|
|
2021-05-25 17:32:36 +00:00
|
|
|
case Routes.unspentCoinsList:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<UnspentCoinsListPage>());
|
|
|
|
|
2021-05-27 17:57:51 +00:00
|
|
|
case Routes.unspentCoinsDetails:
|
2021-07-05 13:52:24 +00:00
|
|
|
final args = settings.arguments as List;
|
|
|
|
|
2021-05-27 17:57:51 +00:00
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<UnspentCoinsDetailsPage>(
|
2021-07-05 13:52:24 +00:00
|
|
|
param1: args));
|
2021-05-27 17:57:51 +00:00
|
|
|
|
2022-06-23 09:25:00 +00:00
|
|
|
case Routes.fullscreenQR:
|
|
|
|
final args = settings.arguments as Map<String, dynamic>;
|
|
|
|
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<FullscreenQRPage>(
|
|
|
|
param1: args['qrData'] as String,
|
|
|
|
param2: args['isLight'] as bool,
|
|
|
|
));
|
|
|
|
|
2022-07-28 17:03:16 +00:00
|
|
|
case Routes.ioniaWelcomePage:
|
2022-10-20 13:12:06 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaWelcomePage>());
|
|
|
|
|
2022-07-28 17:03:16 +00:00
|
|
|
case Routes.ioniaLoginPage:
|
|
|
|
return CupertinoPageRoute<void>( builder: (_) => getIt.get<IoniaLoginPage>());
|
|
|
|
|
|
|
|
case Routes.ioniaCreateAccountPage:
|
|
|
|
return CupertinoPageRoute<void>( builder: (_) => getIt.get<IoniaCreateAccountPage>());
|
|
|
|
|
|
|
|
case Routes.ioniaManageCardsPage:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaManageCardsPage>());
|
|
|
|
|
|
|
|
case Routes.ioniaBuyGiftCardPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaBuyGiftCardPage>(param1: args));
|
2022-10-20 13:12:06 +00:00
|
|
|
|
2022-07-28 17:03:16 +00:00
|
|
|
case Routes.ioniaBuyGiftCardDetailPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaBuyGiftCardDetailPage>(param1: args));
|
|
|
|
|
|
|
|
case Routes.ioniaVerifyIoniaOtpPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) =>getIt.get<IoniaVerifyIoniaOtp>(param1: args));
|
|
|
|
|
|
|
|
case Routes.ioniaDebitCardPage:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaDebitCardPage>());
|
|
|
|
|
|
|
|
case Routes.ioniaActivateDebitCardPage:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaActivateDebitCardPage>());
|
|
|
|
|
|
|
|
case Routes.ioniaAccountPage:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaAccountPage>());
|
2022-10-20 13:12:06 +00:00
|
|
|
|
2022-07-28 17:03:16 +00:00
|
|
|
case Routes.ioniaAccountCardsPage:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaAccountCardsPage>());
|
|
|
|
|
|
|
|
case Routes.ioniaCustomTipPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) =>getIt.get<IoniaCustomTipPage>(param1: args));
|
|
|
|
|
|
|
|
case Routes.ioniaGiftCardDetailPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaGiftCardDetailPage>(param1: args.first));
|
2022-10-20 13:12:06 +00:00
|
|
|
|
2022-09-02 13:47:45 +00:00
|
|
|
case Routes.ioniaCustomRedeemPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaCustomRedeemPage>(param1: args));
|
2022-10-20 13:12:06 +00:00
|
|
|
|
2022-09-02 13:47:45 +00:00
|
|
|
case Routes.ioniaMoreOptionsPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaMoreOptionsPage>(param1: args));
|
2022-07-28 17:03:16 +00:00
|
|
|
|
|
|
|
case Routes.ioniaPaymentStatusPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
final paymentInfo = args.first as IoniaAnyPayPaymentInfo;
|
|
|
|
final commitedInfo = args[1] as AnyPayPaymentCommittedInfo;
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<IoniaPaymentStatusPage>(
|
|
|
|
param1: paymentInfo,
|
|
|
|
param2: commitedInfo));
|
|
|
|
|
2022-06-30 16:44:18 +00:00
|
|
|
case Routes.cakePhoneWelcome:
|
|
|
|
return MaterialPageRoute<CakePhoneWelcomePage>(
|
2022-07-05 15:34:16 +00:00
|
|
|
settings: RouteSettings(name: Routes.cakePhoneWelcome),
|
2022-06-30 16:44:18 +00:00
|
|
|
builder: (_) => CakePhoneWelcomePage(),
|
|
|
|
);
|
|
|
|
|
|
|
|
case Routes.cakePhoneAuth:
|
|
|
|
final isLogin = settings.arguments as bool ?? false;
|
|
|
|
|
|
|
|
return MaterialPageRoute<CakePhoneWelcomePage>(
|
2022-07-05 15:34:16 +00:00
|
|
|
settings: RouteSettings(name: Routes.cakePhoneAuth),
|
2022-06-30 16:44:18 +00:00
|
|
|
builder: (_) => CakePhoneAuthPage(isLogin: isLogin),
|
|
|
|
);
|
|
|
|
|
2022-07-01 12:57:55 +00:00
|
|
|
case Routes.cakePhoneVerification:
|
|
|
|
return MaterialPageRoute<CakePhoneVerificationPage>(
|
2022-07-05 15:34:16 +00:00
|
|
|
settings: RouteSettings(name: Routes.cakePhoneVerification),
|
2022-07-01 12:57:55 +00:00
|
|
|
builder: (_) => CakePhoneVerificationPage(),
|
|
|
|
);
|
|
|
|
|
2022-07-01 14:24:44 +00:00
|
|
|
case Routes.cakePhoneProducts:
|
|
|
|
return MaterialPageRoute<CakePhoneProductsPage>(
|
2022-07-05 15:34:16 +00:00
|
|
|
settings: RouteSettings(name: Routes.cakePhoneProducts),
|
2022-07-01 14:24:44 +00:00
|
|
|
builder: (_) => CakePhoneProductsPage(),
|
|
|
|
);
|
|
|
|
|
2022-07-01 17:15:07 +00:00
|
|
|
case Routes.phoneNumberProduct:
|
|
|
|
return MaterialPageRoute<PhoneNumberProductPage>(
|
2022-07-05 15:34:16 +00:00
|
|
|
settings: RouteSettings(name: Routes.phoneNumberProduct),
|
2022-07-06 04:12:44 +00:00
|
|
|
builder: (_) => PhoneNumberProductPage(
|
|
|
|
getIt.get<PhonePlanViewModel>(),
|
2022-10-24 14:32:20 +00:00
|
|
|
phoneNumberService: settings.arguments as PhoneNumberService?,
|
2022-07-06 04:12:44 +00:00
|
|
|
),
|
2022-07-01 17:15:07 +00:00
|
|
|
);
|
|
|
|
|
2022-07-05 15:34:16 +00:00
|
|
|
case Routes.cakePhoneActiveServices:
|
|
|
|
return MaterialPageRoute<ActiveServicesPage>(
|
|
|
|
settings: RouteSettings(name: Routes.cakePhoneActiveServices),
|
|
|
|
builder: (_) => ActiveServicesPage(),
|
|
|
|
);
|
|
|
|
|
2022-07-06 02:49:52 +00:00
|
|
|
case Routes.numberSettings:
|
|
|
|
return MaterialPageRoute<NumberSettingsPage>(
|
|
|
|
settings: RouteSettings(name: Routes.numberSettings),
|
2022-07-07 13:20:14 +00:00
|
|
|
builder: (_) => getIt.get<NumberSettingsPage>(param1: settings.arguments as PhoneNumberService),
|
2022-07-06 02:49:52 +00:00
|
|
|
);
|
|
|
|
|
2022-07-06 03:51:19 +00:00
|
|
|
case Routes.autoRenewSettings:
|
|
|
|
return MaterialPageRoute<AutoRenewSettingsPage>(
|
|
|
|
settings: RouteSettings(name: Routes.autoRenewSettings),
|
2022-07-07 13:20:14 +00:00
|
|
|
builder: (_) => getIt.get<AutoRenewSettingsPage>(param1: settings.arguments as PhoneNumberService),
|
2022-07-06 16:03:55 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
case Routes.addBalance:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
settings: RouteSettings(name: Routes.addBalance),
|
|
|
|
builder: (_) => getIt.get<AddBalancePage>(),
|
2022-07-06 03:51:19 +00:00
|
|
|
);
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
default:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => Scaffold(
|
|
|
|
body: Center(
|
2022-10-12 17:09:57 +00:00
|
|
|
child: Text(S.current.router_no_route(settings.name ?? 'No route')))));
|
2020-01-04 19:31:52 +00:00
|
|
|
}
|
2020-11-06 18:54:00 +00:00
|
|
|
}
|