CWA-169 | added MorphTokenExchangeProvider to dashboard page, trade filter store. Added morph icon to trade row

Oleksandr Sobol committed Feb 5, 2020 at 22:54 UTC 95222ecbae74ff7b49abbec76cb624271a70b722
3 files changed +37 -3
lib/src/screens/dashboard/dashboard_page.dart
+22 -1
@@ -480,7 +480,28 @@ class DashboardPageBodyState extends State<DashboardPageBody> {
480 ExchangeProviderDescription
481 .changeNow),
482 )
483 - ])))
483 + ]))),
484 + PopupMenuItem(
485 + value: 5,
486 + child: Observer(
487 + builder: (_) => Row(
488 + mainAxisAlignment:
489 + MainAxisAlignment
490 + .spaceBetween,
491 + children: [
492 + Text('MorphToken'),
493 + Checkbox(
494 + value: actionListStore
495 + .tradeFilterStore
496 + .displayMorphToken,
497 + onChanged: (value) =>
498 + actionListStore
499 + .tradeFilterStore
500 + .toggleDisplayExchange(
501 + ExchangeProviderDescription
502 + .morphToken),
503 + )
504 + ])))
505 ],
506 child: Text(S.of(context).filters,
507 style: TextStyle(
lib/src/screens/dashboard/trade_row.dart
+3
@@ -82,6 +82,9 @@ class TradeRow extends StatelessWidget {
82 case ExchangeProviderDescription.changeNow:
83 image = Image.asset('assets/images/change_now.png');
84 break;
85 + case ExchangeProviderDescription.morphToken:
86 + image = Image.asset('assets/images/morph_icon.png');
87 + break;
88 default:
89 image = null;
90 }
lib/src/stores/action_list/trade_filter_store.dart
+12 -2
@@ -11,6 +11,7 @@ abstract class TradeFilterStoreBase with Store {
11 TradeFilterStoreBase(
12 {this.displayXMRTO = true,
13 this.displayChangeNow = true,
14 + this.displayMorphToken = true,
15 this.walletStore});
16
17 @observable
@@ -19,6 +20,9 @@ abstract class TradeFilterStoreBase with Store {
20 @observable
21 bool displayChangeNow;
22
23 + @observable
24 + bool displayMorphToken;
25 +
26 WalletStore walletStore;
27
28 @action
@@ -30,13 +34,16 @@ abstract class TradeFilterStoreBase with Store {
34 case ExchangeProviderDescription.xmrto:
35 displayXMRTO = !displayXMRTO;
36 break;
37 + case ExchangeProviderDescription.morphToken:
38 + displayMorphToken = !displayMorphToken;
39 + break;
40 }
41 }
42
43 List<TradeListItem> filtered({List<TradeListItem> trades}) {
44 final _trades =
45 trades.where((item) => item.trade.walletId == walletStore.id).toList();
39 - final needToFilter = !displayChangeNow || !displayXMRTO;
46 + final needToFilter = !displayChangeNow || !displayXMRTO || !displayMorphToken;
47
48 return needToFilter
49 ? trades
@@ -45,7 +52,10 @@ abstract class TradeFilterStoreBase with Store {
52 item.trade.provider == ExchangeProviderDescription.xmrto) ||
53 (displayChangeNow &&
54 item.trade.provider ==
48 - ExchangeProviderDescription.changeNow))
55 + ExchangeProviderDescription.changeNow) ||
56 + (displayMorphToken &&
57 + item.trade.provider ==
58 + ExchangeProviderDescription.morphToken))
59 .toList()
60 : _trades;
61 }