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
}