[CW-233] Fix missing display balance setting

Godwin Asuquo committed Nov 18, 2022 at 20:53 UTC c67e8c5037e4aafea5da830db30dd68a5dd85b89
6 files changed +27 -15
lib/di.dart
+4 -4
@@ -5,10 +5,10 @@ import 'package:cake_wallet/ionia/ionia_anypay.dart';
5 import 'package:cake_wallet/ionia/ionia_gift_card.dart';
6 import 'package:cake_wallet/ionia/ionia_tip.dart';
7 import 'package:cake_wallet/src/screens/buy/onramper_page.dart';
8 -import 'package:cake_wallet/src/screens/setting/display_settings_page.dart';
9 -import 'package:cake_wallet/src/screens/setting/other_settings_page.dart';
10 -import 'package:cake_wallet/src/screens/setting/privacy_page.dart';
11 -import 'package:cake_wallet/src/screens/setting/security_backup_page.dart';
8 +import 'package:cake_wallet/src/screens/settings/display_settings_page.dart';
9 +import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
10 +import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
11 +import 'package:cake_wallet/src/screens/settings/security_backup_page.dart';
12 import 'package:cake_wallet/src/screens/ionia/cards/ionia_custom_redeem_page.dart';
13 import 'package:cake_wallet/src/screens/ionia/cards/ionia_gift_card_detail_page.dart';
14 import 'package:cake_wallet/src/screens/ionia/cards/ionia_more_options_page.dart';
lib/router.dart
+4 -4
@@ -5,10 +5,10 @@ import 'package:cake_wallet/src/screens/backup/edit_backup_password_page.dart';
5 import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart';
6 import 'package:cake_wallet/src/screens/buy/onramper_page.dart';
7 import 'package:cake_wallet/src/screens/buy/pre_order_page.dart';
8 -import 'package:cake_wallet/src/screens/setting/display_settings_page.dart';
9 -import 'package:cake_wallet/src/screens/setting/other_settings_page.dart';
10 -import 'package:cake_wallet/src/screens/setting/privacy_page.dart';
11 -import 'package:cake_wallet/src/screens/setting/security_backup_page.dart';
8 +import 'package:cake_wallet/src/screens/settings/display_settings_page.dart';
9 +import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
10 +import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
11 +import 'package:cake_wallet/src/screens/settings/security_backup_page.dart';
12 import 'package:cake_wallet/src/screens/ionia/cards/ionia_account_cards_page.dart';
13 import 'package:cake_wallet/src/screens/ionia/cards/ionia_account_page.dart';
14 import 'package:cake_wallet/src/screens/ionia/cards/ionia_custom_redeem_page.dart';
lib/src/screens/dashboard/dashboard_page.dart
+1 -1
@@ -60,7 +60,7 @@ class DashboardPage extends BasePage {
60 Widget middle(BuildContext context) {
61 return SyncIndicator(dashboardViewModel: walletViewModel,
62 onTap: () => Navigator.of(context, rootNavigator: true)
63 - .pushNamed(Routes.nodeList));
63 + .pushNamed(Routes.connectionSync));
64 }
65
66 @override
lib/src/screens/settings/display_settings_page.dart
+5 -5
@@ -29,11 +29,11 @@ class DisplaySettingsPage extends BasePage {
29 child: Column(
30 children: [
31 SettingsSwitcherCell(
32 - title: S.current.settings_save_recipient_address,
33 - value: settingsViewModel.shouldSaveRecipientAddress,
34 - onValueChange: (BuildContext _, bool value) {
35 - settingsViewModel.setShouldSaveRecipientAddress(value);
36 - }),
32 + title: S.current.settings_display_balance,
33 + value: settingsViewModel.shouldDisplayBalance,
34 + onValueChange: (_, bool value) {
35 + settingsViewModel.setShouldDisplayBalance(value);
36 + }),
37 if (!isHaven)
38 SettingsPickerCell<FiatCurrency>(
39 title: S.current.settings_currency,
lib/src/screens/settings/other_settings_page.dart
+1 -1
@@ -24,7 +24,7 @@ class OtherSettingsPage extends BasePage {
24 return Container(
25 padding: EdgeInsets.only(top: 10),
26 child: Column(children: [
27 - SettingsPickerCell<TransactionPriority>(
27 + SettingsPickerCell(
28 title: S.current.settings_fee_priority,
29 items: priorityForWalletType(_settingsViewModel.walletType),
30 displayItem: _settingsViewModel.getDisplayPriority,
lib/view_model/settings/settings_view_model.dart
+12
@@ -116,6 +116,9 @@ abstract class SettingsViewModelBase with Store {
116 BalanceDisplayMode get balanceDisplayMode =>
117 _settingsStore.balanceDisplayMode;
118
119 + @computed
120 + bool get shouldDisplayBalance => balanceDisplayMode == BalanceDisplayMode.displayableBalance;
121 +
122 @computed
123 bool get shouldSaveRecipientAddress =>
124 _settingsStore.shouldSaveRecipientAddress;
@@ -195,6 +198,15 @@ abstract class SettingsViewModelBase with Store {
198 _settingsStore.currentTheme = newTheme;
199 }
200
201 + @action
202 + void setShouldDisplayBalance(bool value){
203 + if (value) {
204 + _settingsStore.balanceDisplayMode = BalanceDisplayMode.displayableBalance;
205 + } else {
206 + _settingsStore.balanceDisplayMode = BalanceDisplayMode.hiddenBalance;
207 + }
208 + }
209 +
210 String getDisplayPriority(dynamic priority) {
211 final _priority = priority as TransactionPriority;
212