Keep drawer opened (#1989)
* Keep drawer opened * Pop the side menu only in case of switching wallets
Omar Hatem committed
Jan 30, 2025 at 23:46 UTC
a936345bfb3c6313acc3ad7738edc7af749aab3d
3 files changed
+5
-49
lib/src/screens/settings/desktop_settings/desktop_settings_page.dart
+1
-1
@@ -4,7 +4,6 @@ import 'package:cake_wallet/src/widgets/setting_action_button.dart';
4
import 'package:cake_wallet/src/widgets/setting_actions.dart';
5
import 'package:cake_wallet/typography.dart';
6
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
7
-import 'package:cw_core/wallet_type.dart';
7
import 'package:flutter/material.dart';
8
import 'package:cake_wallet/router.dart' as Router;
9
import 'package:cake_wallet/themes/extensions/menu_theme.dart';
@@ -35,6 +34,7 @@ class _DesktopSettingsPageState extends State<DesktopSettingsPage> {
34
Widget build(BuildContext context) {
35
return Scaffold(
36
body: Container(
37
+ color: Theme.of(context).colorScheme.background,
38
height: MediaQuery.of(context).size.height,
39
child: Row(
40
children: [
lib/src/screens/wallet_list/wallet_list_page.dart
-36
@@ -1,7 +1,6 @@
1
import 'package:another_flushbar/flushbar.dart';
2
import 'package:cake_wallet/core/auth_service.dart';
3
import 'package:cake_wallet/core/new_wallet_arguments.dart';
4
-import 'package:cake_wallet/core/secure_storage.dart';
4
import 'package:cake_wallet/entities/wallet_edit_page_arguments.dart';
5
import 'package:cake_wallet/entities/wallet_list_order_types.dart';
6
import 'package:cake_wallet/generated/i18n.dart';
@@ -402,41 +401,6 @@ class WalletListBodyState extends State<WalletListBody> {
401
);
402
}
403
405
- Image _imageFor({required WalletType type, bool? isTestnet}) {
406
- switch (type) {
407
- case WalletType.bitcoin:
408
- if (isTestnet == true) {
409
- return tBitcoinIcon;
410
- }
411
- return bitcoinIcon;
412
- case WalletType.monero:
413
- return moneroIcon;
414
- case WalletType.litecoin:
415
- return litecoinIcon;
416
- case WalletType.haven:
417
- return havenIcon;
418
- case WalletType.ethereum:
419
- return ethereumIcon;
420
- case WalletType.bitcoinCash:
421
- return bitcoinCashIcon;
422
- case WalletType.nano:
423
- case WalletType.banano:
424
- return nanoIcon;
425
- case WalletType.polygon:
426
- return polygonIcon;
427
- case WalletType.solana:
428
- return solanaIcon;
429
- case WalletType.tron:
430
- return tronIcon;
431
- case WalletType.wownero:
432
- return wowneroIcon;
433
- case WalletType.zano:
434
- return zanoIcon;
435
- case WalletType.none:
436
- return nonWalletTypeIcon;
437
- }
438
- }
439
-
404
Future<void> _loadWallet(WalletListItem wallet) async {
405
if (SettingsStoreBase.walletPasswordDirectInput) {
406
Navigator.of(context).pushNamed(Routes.walletUnlockLoadable,
lib/src/widgets/setting_actions.dart
+4
-12
@@ -46,7 +46,6 @@ class SettingActions {
46
name: (context) => S.of(context).silent_payments_settings,
47
image: 'assets/images/bitcoin_menu.png',
48
onTap: (BuildContext context) {
49
- Navigator.pop(context);
49
Navigator.of(context).pushNamed(Routes.silentPaymentsSettings);
50
},
51
);
@@ -56,7 +55,6 @@ class SettingActions {
55
name: (context) => S.of(context).export_outputs,
56
image: 'assets/images/monero_menu.png',
57
onTap: (BuildContext context) {
59
- Navigator.pop(context);
58
Navigator.of(context).pushNamed(Routes.urqrAnimatedPage, arguments: 'export-outputs');
59
},
60
);
@@ -66,7 +64,6 @@ class SettingActions {
64
name: (context) => S.of(context).litecoin_mweb_settings,
65
image: 'assets/images/litecoin_menu.png',
66
onTap: (BuildContext context) {
69
- Navigator.pop(context);
67
Navigator.of(context).pushNamed(Routes.mwebSettings);
68
},
69
);
@@ -76,7 +73,6 @@ class SettingActions {
73
name: (context) => S.of(context).connection_sync,
74
image: 'assets/images/nodes_menu.png',
75
onTap: (BuildContext context) {
79
- Navigator.pop(context);
76
Navigator.of(context).pushNamed(Routes.connectionSync);
77
},
78
);
@@ -86,8 +82,10 @@ class SettingActions {
82
name: (context) => S.of(context).wallets,
83
image: 'assets/images/wallet_menu.png',
84
onTap: (BuildContext context) {
89
- Navigator.pop(context);
90
- Navigator.of(context).pushNamed(Routes.walletList);
85
+ Navigator.of(context).pushNamed(Routes.walletList, arguments: (_) {
86
+ Navigator.of(context).pop(); // pops wallet list
87
+ Navigator.of(context).pop(); // pops drawer
88
+ });
89
},
90
);
91
@@ -96,7 +94,6 @@ class SettingActions {
94
name: (context) => S.of(context).address_book_menu,
95
image: 'assets/images/open_book_menu.png',
96
onTap: (BuildContext context) {
99
- Navigator.pop(context);
97
Navigator.of(context).pushNamed(Routes.addressBook);
98
},
99
);
@@ -106,7 +103,6 @@ class SettingActions {
103
name: (context) => S.of(context).security_and_backup,
104
image: 'assets/images/key_menu.png',
105
onTap: (BuildContext context) {
109
- Navigator.pop(context);
106
Navigator.of(context).pushNamed(Routes.securityBackupPage);
107
},
108
);
@@ -116,7 +112,6 @@ class SettingActions {
112
name: (context) => S.of(context).privacy,
113
image: 'assets/images/privacy_menu.png',
114
onTap: (BuildContext context) {
119
- Navigator.pop(context);
115
Navigator.of(context).pushNamed(Routes.privacyPage);
116
},
117
);
@@ -126,7 +121,6 @@ class SettingActions {
121
name: (context) => S.of(context).display_settings,
122
image: 'assets/images/eye_menu.png',
123
onTap: (BuildContext context) {
129
- Navigator.pop(context);
124
Navigator.of(context).pushNamed(Routes.displaySettingsPage);
125
},
126
);
@@ -136,7 +130,6 @@ class SettingActions {
130
name: (context) => S.of(context).other_settings,
131
image: 'assets/images/settings_menu.png',
132
onTap: (BuildContext context) {
139
- Navigator.pop(context);
133
Navigator.of(context).pushNamed(Routes.otherSettingsPage);
134
},
135
);
@@ -146,7 +139,6 @@ class SettingActions {
139
name: (context) => S.of(context).settings_support,
140
image: 'assets/images/question_mark.png',
141
onTap: (BuildContext context) {
149
- Navigator.pop(context);
142
Navigator.of(context).pushNamed(Routes.support);
143
},
144
);