CAKE-171 | fixed fiat amount displaying bug on transaction list; moved calculating price, type of fiat currency and display mode to transaction list item
OleksandrSobol committed
Nov 12, 2020 at 11:32 UTC
7bbc14d5492ff0fb59170a857ef3b3b24649422a
3 files changed
+19
-15
lib/reactions/on_current_fiat_change.dart
+1
-1
@@ -13,6 +13,6 @@ void startCurrentFiatChangeReaction(AppStore appStore, SettingsStore settingsSto
13
(_) => settingsStore.fiatCurrency, (FiatCurrency fiatCurrency) async {
14
final cryptoCurrency = appStore.wallet.currency;
15
fiatConversionStore.price = await FiatConversionService.fetchPrice(
16
- cryptoCurrency, settingsStore.fiatCurrency);
16
+ cryptoCurrency, fiatCurrency);
17
});
18
}
\ No newline at end of file
lib/view_model/dashboard/dashboard_view_model.dart
+6
-9
@@ -78,9 +78,8 @@ abstract class DashboardViewModelBase with Store {
78
.transactionHistory.transactions.values
79
.map((transaction) => TransactionListItem(
80
transaction: transaction,
81
- price: price,
82
- fiatCurrency: appStore.settingsStore.fiatCurrency,
83
- displayMode: balanceDisplayMode)));
81
+ balanceViewModel: balanceViewModel,
82
+ settingsStore: appStore.settingsStore)));
83
84
_reaction = reaction((_) => appStore.wallet, _onWalletChange);
85
// FIXME: fixme
@@ -89,9 +88,8 @@ abstract class DashboardViewModelBase with Store {
88
transactions,
89
(TransactionInfo val) => TransactionListItem(
90
transaction: val,
92
- price: price,
93
- fiatCurrency: appStore.settingsStore.fiatCurrency,
94
- displayMode: balanceDisplayMode));
91
+ balanceViewModel: balanceViewModel,
92
+ settingsStore: appStore.settingsStore));
93
94
final _wallet = wallet;
95
@@ -185,8 +183,7 @@ abstract class DashboardViewModelBase with Store {
183
transactions.addAll(wallet.transactionHistory.transactions.values.map(
184
(transaction) => TransactionListItem(
185
transaction: transaction,
188
- price: price,
189
- fiatCurrency: appStore.settingsStore.fiatCurrency,
190
- displayMode: balanceDisplayMode)));
186
+ balanceViewModel: balanceViewModel,
187
+ settingsStore: appStore.settingsStore)));
188
}
189
}
lib/view_model/dashboard/transaction_list_item.dart
+12
-5
@@ -1,6 +1,7 @@
1
import 'package:cake_wallet/entities/balance_display_mode.dart';
2
import 'package:cake_wallet/entities/fiat_currency.dart';
3
import 'package:cake_wallet/entities/transaction_info.dart';
4
+import 'package:cake_wallet/store/settings_store.dart';
5
import 'package:cake_wallet/utils/mobx.dart';
6
import 'package:cake_wallet/view_model/dashboard/action_list_item.dart';
7
import 'package:cake_wallet/bitcoin/bitcoin_transaction_info.dart';
@@ -8,15 +9,21 @@ import 'package:cake_wallet/monero/monero_transaction_info.dart';
9
import 'package:cake_wallet/monero/monero_amount_format.dart';
10
import 'package:cake_wallet/bitcoin/bitcoin_amount_format.dart';
11
import 'package:cake_wallet/entities/calculate_fiat_amount_raw.dart';
12
+import 'package:cake_wallet/view_model/dashboard/balance_view_model.dart';
13
14
class TransactionListItem extends ActionListItem with Keyable {
15
TransactionListItem(
14
- {this.transaction, this.price, this.fiatCurrency, this.displayMode});
16
+ {this.transaction, this.balanceViewModel, this.settingsStore});
17
18
final TransactionInfo transaction;
17
- final double price;
18
- final FiatCurrency fiatCurrency;
19
- final BalanceDisplayMode displayMode;
19
+ final BalanceViewModel balanceViewModel;
20
+ final SettingsStore settingsStore;
21
+
22
+ double get price => balanceViewModel.price;
23
+
24
+ FiatCurrency get fiatCurrency => settingsStore.fiatCurrency;
25
+
26
+ BalanceDisplayMode get displayMode => settingsStore.balanceDisplayMode;
27
28
@override
29
dynamic get keyIndex => transaction.id;
@@ -49,4 +56,4 @@ class TransactionListItem extends ActionListItem with Keyable {
56
57
@override
58
DateTime get date => transaction.date;
52
-}
59
+}
\ No newline at end of file