From e099089d04a3154fbb1cd61fc331d0435e6aeba4 Mon Sep 17 00:00:00 2001
From: ryleedavis <rylee@cypherstack.com>
Date: Mon, 21 Nov 2022 14:58:03 -0700
Subject: [PATCH] loading indicator and delay

---
 .../desktop_delete_wallet_dialog.dart         | 39 +++++++++++++++++--
 1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/lib/pages_desktop_specific/home/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart b/lib/pages_desktop_specific/home/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart
index 087629673..6729d33b9 100644
--- a/lib/pages_desktop_specific/home/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart
+++ b/lib/pages_desktop_specific/home/my_stack_view/wallet_view/sub_widgets/desktop_delete_wallet_dialog.dart
@@ -13,6 +13,7 @@ import 'package:stackwallet/widgets/desktop/desktop_dialog.dart';
 import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart';
 import 'package:stackwallet/widgets/desktop/primary_button.dart';
 import 'package:stackwallet/widgets/desktop/secondary_button.dart';
+import 'package:stackwallet/widgets/loading_indicator.dart';
 import 'package:stackwallet/widgets/stack_text_field.dart';
 
 import '../../../../../providers/desktop/storage_crypto_handler_provider.dart';
@@ -177,11 +178,35 @@ class _DesktopDeleteWalletDialog
                       label: "Continue",
                       onPressed: _continueEnabled
                           ? () async {
+                              // add loading indicator
+                              unawaited(
+                                showDialog(
+                                  context: context,
+                                  builder: (context) => Column(
+                                    mainAxisAlignment: MainAxisAlignment.center,
+                                    crossAxisAlignment:
+                                        CrossAxisAlignment.center,
+                                    children: const [
+                                      LoadingIndicator(
+                                        width: 200,
+                                        height: 200,
+                                      ),
+                                    ],
+                                  ),
+                                ),
+                              );
+
+                              await Future<void>.delayed(
+                                  const Duration(seconds: 1));
+
                               final verified = await ref
                                   .read(storageCryptoHandlerProvider)
                                   .verifyPassphrase(passwordController.text);
 
                               if (verified) {
+                                Navigator.of(context, rootNavigator: true)
+                                    .pop();
+
                                 final words = await ref
                                     .read(walletsChangeNotifierProvider)
                                     .getManager(widget.walletId)
@@ -190,12 +215,20 @@ class _DesktopDeleteWalletDialog
                                 if (mounted) {
                                   Navigator.of(context).pop();
 
-                                  await Navigator.of(context).pushNamed(
-                                    DesktopAttentionDeleteWallet.routeName,
-                                    arguments: widget.walletId,
+                                  unawaited(
+                                    Navigator.of(context).pushNamed(
+                                      DesktopAttentionDeleteWallet.routeName,
+                                      arguments: widget.walletId,
+                                    ),
                                   );
                                 }
                               } else {
+                                Navigator.of(context, rootNavigator: true)
+                                    .pop();
+
+                                await Future<void>.delayed(
+                                    const Duration(milliseconds: 300));
+
                                 unawaited(
                                   showFloatingFlushBar(
                                     type: FlushBarType.warning,