CAKE-126 | added seed item to wallet_keys_view_model; changed title of wallet_keys_page; created wallet menu item; applied wallet menu item to wallet menu; removed show seed item from wallet menu

OleksandrSobol committed Oct 22, 2020 at 19:50 UTC 753e898112cbb1feef767d2f1f06f83ed44a6232
5 files changed +48 -34
lib/src/screens/dashboard/wallet_menu.dart
+32 -31
@@ -1,7 +1,7 @@
1 +import 'package:cake_wallet/src/screens/dashboard/wallet_menu_item.dart';
2 import 'package:cake_wallet/utils/show_pop_up.dart';
3 import 'package:flutter/material.dart';
4 import 'package:cake_wallet/routes.dart';
4 -import 'package:provider/provider.dart';
5 import 'package:cake_wallet/generated/i18n.dart';
6 import 'package:cake_wallet/src/screens/auth/auth_page.dart';
7 import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
@@ -11,26 +11,35 @@ import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
11 class WalletMenu {
12 WalletMenu(this.context, this.reconnect);
13
14 - final List<String> items = [
15 - S.current.reconnect,
16 - S.current.rescan,
17 - S.current.wallets,
18 - S.current.nodes,
19 - S.current.show_seed,
20 - S.current.show_keys,
21 - S.current.address_book_menu,
22 - S.current.settings_title
23 - ];
24 -
25 - final List<Image> images = [
26 - Image.asset('assets/images/reconnect_menu.png', height: 16, width: 16),
27 - Image.asset('assets/images/filter_icon.png', height: 16, width: 16),
28 - Image.asset('assets/images/wallet_menu.png', height: 16, width: 16),
29 - Image.asset('assets/images/nodes_menu.png', height: 16, width: 16),
30 - Image.asset('assets/images/eye_menu.png', height: 16, width: 16),
31 - Image.asset('assets/images/key_menu.png', height: 16, width: 16),
32 - Image.asset('assets/images/open_book_menu.png', height: 16, width: 16),
33 - Image.asset('assets/images/settings_menu.png', height: 16, width: 16),
14 + final List<WalletMenuItem> items = [
15 + WalletMenuItem(
16 + title: S.current.reconnect,
17 + image: Image.asset('assets/images/reconnect_menu.png',
18 + height: 16, width: 16)),
19 + WalletMenuItem(
20 + title: S.current.rescan,
21 + image: Image.asset('assets/images/filter_icon.png',
22 + height: 16, width: 16)),
23 + WalletMenuItem(
24 + title: S.current.wallets,
25 + image: Image.asset('assets/images/wallet_menu.png',
26 + height: 16, width: 16)),
27 + WalletMenuItem(
28 + title: S.current.nodes,
29 + image: Image.asset('assets/images/nodes_menu.png',
30 + height: 16, width: 16)),
31 + WalletMenuItem(
32 + title: S.current.show_keys,
33 + image: Image.asset('assets/images/key_menu.png',
34 + height: 16, width: 16)),
35 + WalletMenuItem(
36 + title: S.current.address_book_menu,
37 + image: Image.asset('assets/images/open_book_menu.png',
38 + height: 16, width: 16)),
39 + WalletMenuItem(
40 + title: S.current.settings_title,
41 + image: Image.asset('assets/images/settings_menu.png',
42 + height: 16, width: 16)),
43 ];
44
45 final BuildContext context;
@@ -51,14 +60,6 @@ class WalletMenu {
60 Navigator.of(context).pushNamed(Routes.nodeList);
61 break;
62 case 4:
54 - Navigator.of(context).pushNamed(Routes.auth,
55 - arguments: (bool isAuthenticatedSuccessfully, AuthPageState auth) =>
56 - isAuthenticatedSuccessfully
57 - ? Navigator.of(auth.context).popAndPushNamed(Routes.seed, arguments: false)
58 - : null);
59 -
60 - break;
61 - case 5:
63 Navigator.of(context).pushNamed(Routes.auth,
64 arguments: (bool isAuthenticatedSuccessfully, AuthPageState auth) =>
65 isAuthenticatedSuccessfully
@@ -66,10 +67,10 @@ class WalletMenu {
67 .popAndPushNamed(Routes.showKeys)
68 : null);
69 break;
69 - case 6:
70 + case 5:
71 Navigator.of(context).pushNamed(Routes.addressBook);
72 break;
72 - case 7:
73 + case 6:
74 Navigator.of(context).pushNamed(Routes.settings);
75 break;
76 default:
lib/src/screens/dashboard/wallet_menu_item.dart new
+10
@@ -0,0 +1,10 @@
1 +import 'package:flutter/material.dart';
2 +
3 +class WalletMenuItem {
4 + WalletMenuItem({
5 + @required this.title,
6 + @required this.image});
7 +
8 + final String title;
9 + final Image image;
10 +}
\ No newline at end of file
lib/src/screens/dashboard/widgets/menu_widget.dart
+3 -2
@@ -168,7 +168,8 @@ class MenuWidgetState extends State<MenuWidget> {
168 index--;
169
170 final item = walletMenu.items[index];
171 - final image = walletMenu.images[index] ?? Offstage();
171 + final title = item.title;
172 + final image = item.image ?? Offstage();
173 final isLastTile = index == itemCount - 1;
174
175 return GestureDetector(
@@ -199,7 +200,7 @@ class MenuWidgetState extends State<MenuWidget> {
200 SizedBox(width: 16),
201 Expanded(
202 child: Text(
202 - item,
203 + title,
204 style: TextStyle(
205 color: Theme.of(context)
206 .textTheme
lib/src/screens/wallet_keys/wallet_keys_page.dart
+1 -1
@@ -13,7 +13,7 @@ class WalletKeysPage extends BasePage {
13 WalletKeysPage(this.walletKeysViewModel);
14
15 @override
16 - String get title => S.current.wallet_keys;
16 + String get title => 'Wallet seed/keys';
17
18 final WalletKeysViewModel walletKeysViewModel;
19
lib/view_model/wallet_keys_view_model.dart
+2
@@ -24,6 +24,8 @@ abstract class WalletKeysViewModelBase with Store {
24 title: S.current.view_key_public, value: keys.publicViewKey),
25 StandartListItem(
26 title: S.current.view_key_private, value: keys.privateViewKey),
27 + StandartListItem(
28 + title: 'Wallet seed', value: wallet.seed),
29 ]);
30 }
31