- Add Disable fiat API option to advanced privacy settings

OmarHatem committed Dec 8, 2022 at 14:10 UTC 6395d6b2f76a33bab65323ee4f46faf1d6dd3d72
1 file changed +16 -11
lib/view_model/advanced_privacy_settings_view_model.dart
+16 -11
@@ -1,3 +1,4 @@
1 +import 'package:cake_wallet/entities/fiat_api_mode.dart';
2 import 'package:cake_wallet/store/settings_store.dart';
3 import 'package:cake_wallet/view_model/settings/switcher_list_item.dart';
4 import 'package:cw_core/wallet_type.dart';
@@ -11,15 +12,13 @@ class AdvancedPrivacySettingsViewModel = AdvancedPrivacySettingsViewModelBase
12
13 abstract class AdvancedPrivacySettingsViewModelBase with Store {
14 AdvancedPrivacySettingsViewModelBase(this.type, this._settingsStore)
14 - : _disableFiat = false,
15 - _addCustomNode = false {
15 + : _addCustomNode = false {
16 settings = [
17 - // TODO: uncomment when Disable Fiat PR is merged
18 - // SwitcherListItem(
19 - // title: S.current.disable_fiat,
20 - // value: () => _disableFiat,
21 - // onValueChange: (_, bool value) => _disableFiat = value,
22 - // ),
17 + SwitcherListItem(
18 + title: S.current.disable_fiat,
19 + value: () => _settingsStore.fiatApiMode == FiatApiMode.disabled,
20 + onValueChange: (_, bool value) => setFiatMode(value),
21 + ),
22 SwitcherListItem(
23 title: S.current.disable_exchange,
24 value: () => _settingsStore.disableExchange,
@@ -37,9 +36,6 @@ abstract class AdvancedPrivacySettingsViewModelBase with Store {
36
37 late List<SwitcherListItem> settings;
38
40 - @observable
41 - bool _disableFiat = false;
42 -
39 @observable
40 bool _addCustomNode = false;
41
@@ -48,4 +44,13 @@ abstract class AdvancedPrivacySettingsViewModelBase with Store {
44
45 @computed
46 bool get addCustomNode => _addCustomNode;
47 +
48 + @action
49 + void setFiatMode(bool value) {
50 + if (value) {
51 + _settingsStore.fiatApiMode = FiatApiMode.disabled;
52 + return;
53 + }
54 + _settingsStore.fiatApiMode = FiatApiMode.enabled;
55 + }
56 }