- Remove old wallet menu widgets - Remove Rescan option from Electrum wallets

- Remove old wallet menu widgets - Remove Rescan option from Electrum wallets

OmarHatem committed Feb 6, 2023 at 18:46 UTC d4e720f5c0a18dd992e3d5d447ef1474f6739b6a
3 files changed +7 -247
lib/src/screens/settings/connection_sync_page.dart
+7 -4
@@ -2,6 +2,7 @@ import 'package:cake_wallet/src/screens/settings/widgets/settings_cell_with_arro
2 import 'package:cake_wallet/utils/show_pop_up.dart';
3 import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
4 import 'package:cw_core/node.dart';
5 +import 'package:cw_core/wallet_type.dart';
6 import 'package:flutter/material.dart';
7 import 'package:flutter/cupertino.dart';
8 import 'package:flutter_mobx/flutter_mobx.dart';
@@ -35,10 +36,12 @@ class ConnectionSyncPage extends BasePage {
36 handler: (context) => _presentReconnectAlert(context),
37 ),
38 StandardListSeparator(padding: EdgeInsets.symmetric(horizontal: 24)),
38 - SettingsCellWithArrow(
39 - title: S.current.rescan,
40 - handler: (context) => Navigator.of(context).pushNamed(Routes.rescan),
41 - ),
39 + if (dashboardViewModel.type != WalletType.bitcoin &&
40 + dashboardViewModel.type != WalletType.litecoin)
41 + SettingsCellWithArrow(
42 + title: S.current.rescan,
43 + handler: (context) => Navigator.of(context).pushNamed(Routes.rescan),
44 + ),
45 StandardListSeparator(padding: EdgeInsets.symmetric(horizontal: 24)),
46 NodeHeaderListRow(
47 title: S.of(context).add_new_node,
lib/src/screens/wallet_list/wallet_menu.dart deleted
-131
@@ -1,131 +0,0 @@
1 -import 'package:cake_wallet/src/screens/wallet_list/wallet_menu_item.dart';
2 -import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
3 -import 'package:cake_wallet/utils/show_pop_up.dart';
4 -import 'package:cake_wallet/view_model/wallet_list/wallet_list_view_model.dart';
5 -import 'package:flutter/material.dart';
6 -import 'package:cake_wallet/routes.dart';
7 -import 'package:cake_wallet/generated/i18n.dart';
8 -import 'package:cake_wallet/view_model/wallet_list/wallet_list_item.dart';
9 -import 'package:cake_wallet/src/screens/auth/auth_page.dart';
10 -import 'package:cake_wallet/palette.dart';
11 -
12 -class WalletMenu {
13 - WalletMenu(this.context, this.walletListViewModel);
14 -
15 - final WalletListViewModel walletListViewModel;
16 - final BuildContext context;
17 -
18 - final List<WalletMenuItem> menuItems = [
19 - WalletMenuItem(
20 - title: S.current.wallet_list_load_wallet,
21 - firstGradientColor: Palette.cornflower,
22 - secondGradientColor: Palette.royalBlue,
23 - image: Image.asset('assets/images/load.png',
24 - height: 24, width: 24, color: Colors.white)),
25 - WalletMenuItem(
26 - title: S.current.show_seed,
27 - firstGradientColor: Palette.moderateOrangeYellow,
28 - secondGradientColor: Palette.moderateOrange,
29 - image: Image.asset('assets/images/eye_action.png',
30 - height: 24, width: 24, color: Colors.white)),
31 - WalletMenuItem(
32 - title: S.current.remove,
33 - firstGradientColor: Palette.lightRed,
34 - secondGradientColor: Palette.persianRed,
35 - image: Image.asset('assets/images/trash.png',
36 - height: 24, width: 24, color: Colors.white)),
37 - WalletMenuItem(
38 - title: S.current.rescan,
39 - firstGradientColor: Palette.shineGreen,
40 - secondGradientColor: Palette.moderateGreen,
41 - image: Image.asset('assets/images/scanner.png',
42 - height: 24, width: 24, color: Colors.white))
43 - ];
44 -
45 - List<WalletMenuItem> generateItemsForWalletMenu(bool isCurrentWallet) {
46 - final items = <WalletMenuItem>[];
47 -
48 - if (!isCurrentWallet) items.add(menuItems[0]);
49 - if (isCurrentWallet) items.add(menuItems[1]);
50 - if (!isCurrentWallet) items.add(menuItems[2]);
51 - if (isCurrentWallet) items.add(menuItems[3]);
52 -
53 - return items;
54 - }
55 -
56 - Future<void> action(
57 - int index, WalletListItem wallet) async {
58 - switch (index) {
59 - case 0:
60 - await Navigator.of(context).pushNamed(Routes.auth, arguments:
61 - (bool isAuthenticatedSuccessfully, AuthPageState auth) async {
62 - if (!isAuthenticatedSuccessfully) {
63 - return;
64 - }
65 -
66 - try {
67 - auth.changeProcessText(
68 - S.of(context).wallet_list_loading_wallet(wallet.name));
69 - await walletListViewModel.loadWallet(wallet);
70 - auth.close();
71 - Navigator.of(context).pop();
72 - } catch (e) {
73 - auth.changeProcessText(S
74 - .of(context)
75 - .wallet_list_failed_to_load(wallet.name, e.toString()));
76 - }
77 - });
78 - break;
79 - case 1:
80 - await Navigator.of(context).pushNamed(Routes.auth, arguments:
81 - (bool isAuthenticatedSuccessfully, AuthPageState auth) async {
82 - if (!isAuthenticatedSuccessfully) {
83 - return;
84 - }
85 - auth.close();
86 - await Navigator.of(context).pushNamed(Routes.seed, arguments: false);
87 - });
88 - break;
89 - case 2:
90 - final isComfirmed = await showPopUp<bool>(
91 - context: context,
92 - builder: (BuildContext context) {
93 - return AlertWithTwoActions(
94 - alertTitle: 'Remove wallet',
95 - alertContent: S.of(context).confirm_delete_wallet,
96 - leftButtonText: S.of(context).cancel,
97 - rightButtonText: S.of(context).remove,
98 - actionLeftButton: () => Navigator.of(context).pop(false),
99 - actionRightButton: () => Navigator.of(context).pop(true));
100 - });
101 -
102 - if (isComfirmed == null || !isComfirmed) {
103 - return;
104 - }
105 -
106 - await Navigator.of(context).pushNamed(Routes.auth, arguments:
107 - (bool isAuthenticatedSuccessfully, AuthPageState auth) async {
108 - if (!isAuthenticatedSuccessfully) {
109 - return;
110 - }
111 -
112 - try {
113 - auth.changeProcessText(
114 - S.of(context).wallet_list_removing_wallet(wallet.name));
115 - await walletListViewModel.remove(wallet);
116 - auth.close();
117 - } catch (e) {
118 - auth.changeProcessText(S
119 - .of(context)
120 - .wallet_list_failed_to_remove(wallet.name, e.toString()));
121 - }
122 - });
123 - break;
124 - case 3:
125 - await Navigator.of(context).pushNamed(Routes.rescan);
126 - break;
127 - default:
128 - break;
129 - }
130 - }
131 -}
lib/src/screens/wallet_list/widgets/wallet_menu_alert.dart deleted
-112
@@ -1,112 +0,0 @@
1 -import 'dart:ui';
2 -import 'package:cake_wallet/palette.dart';
3 -import 'package:cake_wallet/src/screens/wallet_list/wallet_menu.dart';
4 -import 'package:cake_wallet/src/screens/wallet_list/wallet_menu_item.dart';
5 -import 'package:cake_wallet/view_model/wallet_list/wallet_list_item.dart';
6 -import 'package:flutter/cupertino.dart';
7 -import 'package:flutter/material.dart';
8 -import 'package:cake_wallet/src/widgets/alert_background.dart';
9 -import 'package:cake_wallet/src/widgets/alert_close_button.dart';
10 -
11 -class WalletMenuAlert extends StatelessWidget {
12 - WalletMenuAlert({
13 - required this.wallet,
14 - required this.walletMenu,
15 - required this.items
16 - });
17 -
18 - final WalletListItem wallet;
19 - final WalletMenu walletMenu;
20 - final List<WalletMenuItem> items;
21 - final closeButton = Image.asset('assets/images/close.png',
22 - color: Palette.darkBlueCraiola,
23 - );
24 -
25 - @override
26 - Widget build(BuildContext context) {
27 - return AlertBackground(
28 - child: Stack(
29 - alignment: Alignment.center,
30 - children: <Widget>[
31 - Padding(
32 - padding: EdgeInsets.only(
33 - left: 24,
34 - right: 24,
35 - ),
36 - child: ClipRRect(
37 - borderRadius: BorderRadius.all(Radius.circular(14)),
38 - child: Container(
39 - color: Theme.of(context).textTheme!.bodyText1!.decorationColor!,
40 - padding: EdgeInsets.only(left: 24),
41 - child: ListView.separated(
42 - shrinkWrap: true,
43 - physics: const NeverScrollableScrollPhysics(),
44 - itemCount: items.length,
45 - separatorBuilder: (context, _) => Container(
46 - height: 1,
47 - color: Theme.of(context).accentTextTheme!.subtitle1!.backgroundColor!,
48 - ),
49 - itemBuilder: (_, index) {
50 - final item = items[index];
51 -
52 - return GestureDetector(
53 - onTap: () {
54 - Navigator.of(context).pop();
55 - walletMenu.action(
56 - walletMenu.menuItems.indexOf(item),
57 - wallet);
58 - },
59 - child: Container(
60 - height: 60,
61 - child: Row(
62 - mainAxisSize: MainAxisSize.min,
63 - mainAxisAlignment: MainAxisAlignment.start,
64 - crossAxisAlignment: CrossAxisAlignment.center,
65 - children: <Widget>[
66 - Container(
67 - height: 32,
68 - width: 32,
69 - decoration: BoxDecoration(
70 - borderRadius: BorderRadius.all(
71 - Radius.circular(4)),
72 - gradient: LinearGradient(
73 - begin: Alignment.topCenter,
74 - end: Alignment.bottomCenter,
75 - colors: [
76 - item.firstGradientColor,
77 - item.secondGradientColor
78 - ]
79 - )
80 - ),
81 - child: Center(
82 - child: item.image,
83 - ),
84 - ),
85 - SizedBox(width: 12),
86 - Expanded(
87 - child: Text(
88 - item.title,
89 - style: TextStyle(
90 - color: Theme.of(context).primaryTextTheme!.headline6!.color!,
91 - fontSize: 18,
92 - fontFamily: 'Lato',
93 - fontWeight: FontWeight.w500,
94 - decoration: TextDecoration.none
95 - ),
96 - )
97 - )
98 - ],
99 - ),
100 - ),
101 - );
102 - },
103 - ),
104 - ),
105 - ),
106 - ),
107 - AlertCloseButton(image: closeButton)
108 - ],
109 - ),
110 - );
111 - }
112 -}
\ No newline at end of file