diff --git a/lib/src/screens/dashboard/dashboard_page.dart b/lib/src/screens/dashboard/dashboard_page.dart index 5d2e80361..e13a25161 100644 --- a/lib/src/screens/dashboard/dashboard_page.dart +++ b/lib/src/screens/dashboard/dashboard_page.dart @@ -480,7 +480,28 @@ class DashboardPageBodyState extends State { ExchangeProviderDescription .changeNow), ) - ]))) + ]))), + PopupMenuItem( + value: 5, + child: Observer( + builder: (_) => Row( + mainAxisAlignment: + MainAxisAlignment + .spaceBetween, + children: [ + Text('MorphToken'), + Checkbox( + value: actionListStore + .tradeFilterStore + .displayMorphToken, + onChanged: (value) => + actionListStore + .tradeFilterStore + .toggleDisplayExchange( + ExchangeProviderDescription + .morphToken), + ) + ]))) ], child: Text(S.of(context).filters, style: TextStyle( diff --git a/lib/src/screens/dashboard/trade_row.dart b/lib/src/screens/dashboard/trade_row.dart index c3e88c8e2..75a3371bd 100644 --- a/lib/src/screens/dashboard/trade_row.dart +++ b/lib/src/screens/dashboard/trade_row.dart @@ -82,6 +82,9 @@ class TradeRow extends StatelessWidget { case ExchangeProviderDescription.changeNow: image = Image.asset('assets/images/change_now.png'); break; + case ExchangeProviderDescription.morphToken: + image = Image.asset('assets/images/morph_icon.png'); + break; default: image = null; } diff --git a/lib/src/stores/action_list/trade_filter_store.dart b/lib/src/stores/action_list/trade_filter_store.dart index 3576e459f..4577038e3 100644 --- a/lib/src/stores/action_list/trade_filter_store.dart +++ b/lib/src/stores/action_list/trade_filter_store.dart @@ -11,6 +11,7 @@ abstract class TradeFilterStoreBase with Store { TradeFilterStoreBase( {this.displayXMRTO = true, this.displayChangeNow = true, + this.displayMorphToken = true, this.walletStore}); @observable @@ -19,6 +20,9 @@ abstract class TradeFilterStoreBase with Store { @observable bool displayChangeNow; + @observable + bool displayMorphToken; + WalletStore walletStore; @action @@ -30,13 +34,16 @@ abstract class TradeFilterStoreBase with Store { case ExchangeProviderDescription.xmrto: displayXMRTO = !displayXMRTO; break; + case ExchangeProviderDescription.morphToken: + displayMorphToken = !displayMorphToken; + break; } } List filtered({List trades}) { final _trades = trades.where((item) => item.trade.walletId == walletStore.id).toList(); - final needToFilter = !displayChangeNow || !displayXMRTO; + final needToFilter = !displayChangeNow || !displayXMRTO || !displayMorphToken; return needToFilter ? trades @@ -45,7 +52,10 @@ abstract class TradeFilterStoreBase with Store { item.trade.provider == ExchangeProviderDescription.xmrto) || (displayChangeNow && item.trade.provider == - ExchangeProviderDescription.changeNow)) + ExchangeProviderDescription.changeNow) || + (displayMorphToken && + item.trade.provider == + ExchangeProviderDescription.morphToken)) .toList() : _trades; }