From 5ce5ae3f4dd442f70e6aa34f75a1d46c73b00be7 Mon Sep 17 00:00:00 2001 From: julian Date: Tue, 28 Mar 2023 13:55:36 -0600 Subject: [PATCH] refresh eth wallets list on adding new (restored) token wallet --- .../restore_wallet_view.dart | 64 ++++++++++++++----- .../verify_recovery_phrase_view.dart | 16 +++-- 2 files changed, 57 insertions(+), 23 deletions(-) diff --git a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart index 45df3e2fc..29ca47251 100644 --- a/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart +++ b/lib/pages/add_wallet_views/restore_wallet_view/restore_wallet_view.dart @@ -16,6 +16,8 @@ import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/confirm_r import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_failed_dialog.dart'; import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restore_succeeded_dialog.dart'; import 'package:stackwallet/pages/add_wallet_views/restore_wallet_view/sub_widgets/restoring_dialog.dart'; +import 'package:stackwallet/pages/add_wallet_views/select_wallet_for_token_view.dart'; +import 'package:stackwallet/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart'; import 'package:stackwallet/pages/home_view/home_view.dart'; import 'package:stackwallet/pages_desktop_specific/desktop_home_view.dart'; import 'package:stackwallet/pages_desktop_specific/my_stack_view/exit_to_my_stack_button.dart'; @@ -310,24 +312,54 @@ class _RestoreWalletViewState extends ConsumerState { .read(walletsChangeNotifierProvider.notifier) .addWallet(walletId: manager.walletId, manager: manager); - if (mounted) { - if (isDesktop) { - Navigator.of(context) - .popUntil(ModalRoute.withName(DesktopHomeView.routeName)); - } else { - unawaited(Navigator.of(context).pushNamedAndRemoveUntil( - HomeView.routeName, (route) => false)); - } + final isCreateSpecialEthWallet = + ref.read(createSpecialEthWalletRoutingFlag); + if (isCreateSpecialEthWallet) { + ref.read(createSpecialEthWalletRoutingFlag.notifier).state = + false; + ref + .read(newEthWalletTriggerTempUntilHiveCompletelyDeleted.state) + .state = + !ref + .read(newEthWalletTriggerTempUntilHiveCompletelyDeleted + .state) + .state; + } + + if (mounted) { + if (isDesktop) { + Navigator.of(context).popUntil( + ModalRoute.withName( + DesktopHomeView.routeName, + ), + ); + } else { + if (isCreateSpecialEthWallet) { + Navigator.of(context).popUntil( + ModalRoute.withName( + SelectWalletForTokenView.routeName, + ), + ); + } else { + unawaited( + Navigator.of(context).pushNamedAndRemoveUntil( + HomeView.routeName, + (route) => false, + ), + ); + } + } + + await showDialog( + context: context, + useSafeArea: false, + barrierDismissible: true, + builder: (context) { + return const RestoreSucceededDialog(); + }, + ); } - await showDialog( - context: context, - useSafeArea: false, - barrierDismissible: true, - builder: (context) { - return const RestoreSucceededDialog(); - }, - ); if (!Platform.isLinux && !isDesktop) { await Wakelock.disable(); } diff --git a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart index a30603ffe..6e12a1402 100644 --- a/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart +++ b/lib/pages/add_wallet_views/verify_recovery_phrase_view/verify_recovery_phrase_view.dart @@ -141,14 +141,16 @@ class _VerifyRecoveryPhraseViewState } } } - } - unawaited(showFloatingFlushBar( - type: FlushBarType.success, - message: "Correct! Your wallet is set up.", - iconAsset: Assets.svg.check, - context: context, - )); + unawaited( + showFloatingFlushBar( + type: FlushBarType.success, + message: "Correct! Your wallet is set up.", + iconAsset: Assets.svg.check, + context: context, + ), + ); + } } else { unawaited(showFloatingFlushBar( type: FlushBarType.warning,