Fixes

M committed Jan 5, 2021 at 22:37 UTC 5fa0a9c912393db878a411028d2765210f56b786
1 file changed +27 -23
lib/view_model/transaction_details_view_model.dart
+27 -23
@@ -13,14 +13,15 @@ import 'package:cake_wallet/generated/i18n.dart';
13
14 part 'transaction_details_view_model.g.dart';
15
16 -class TransactionDetailsViewModel = TransactionDetailsViewModelBase with _$TransactionDetailsViewModel;
16 +class TransactionDetailsViewModel = TransactionDetailsViewModelBase
17 + with _$TransactionDetailsViewModel;
18
19 abstract class TransactionDetailsViewModelBase with Store {
19 - TransactionDetailsViewModelBase({
20 - this.transactionInfo,
21 - this.transactionDescriptionBox,
22 - this.settingsStore}) : items = [] {
23 -
20 + TransactionDetailsViewModelBase(
21 + {this.transactionInfo,
22 + this.transactionDescriptionBox,
23 + this.settingsStore})
24 + : items = [] {
25 showRecipientAddress = settingsStore?.shouldSaveRecipientAddress ?? false;
26
27 final dateFormat = DateFormatter.withCurrentLocal();
@@ -39,14 +40,12 @@ abstract class TransactionDetailsViewModelBase with Store {
40 title: S.current.transaction_details_amount,
41 value: tx.amountFormatted()),
42 StandartListItem(
42 - title: S.current.transaction_details_fee,
43 - value: tx.feeFormatted()),
43 + title: S.current.transaction_details_fee, value: tx.feeFormatted()),
44 ];
45
46 if (tx.key?.isNotEmpty ?? null) {
47 - _items.add(StandartListItem(
48 - title: S.current.transaction_key,
49 - value: tx.key));
47 + _items.add(
48 + StandartListItem(title: S.current.transaction_key, value: tx.key));
49 }
50
51 items.addAll(_items);
@@ -60,7 +59,8 @@ abstract class TransactionDetailsViewModelBase with Store {
59 title: S.current.transaction_details_date,
60 value: dateFormat.format(tx.date)),
61 StandartListItem(
63 - title: S.current.confirmations, value: tx.confirmations?.toString()),
62 + title: S.current.confirmations,
63 + value: tx.confirmations?.toString()),
64 StandartListItem(
65 title: S.current.transaction_details_height, value: '${tx.height}'),
66 StandartListItem(
@@ -88,17 +88,21 @@ abstract class TransactionDetailsViewModelBase with Store {
88 }
89
90 final description = transactionDescriptionBox.values.firstWhere(
91 - (val) => val.id == transactionInfo.id, orElse: () => null);
92 -
93 - if (description != null) {
94 - items.add(TextFieldListItem(
95 - title: S.current.note_tap_to_change,
96 - value: description.note,
97 - onSubmitted: (value) {
98 - description.transactionNote = value;
91 + (val) => val.id == transactionInfo.id,
92 + orElse: () => TransactionDescription(id: transactionInfo.id));
93 +
94 + items.add(TextFieldListItem(
95 + title: S.current.note_tap_to_change,
96 + value: description.note,
97 + onSubmitted: (value) {
98 + description.transactionNote = value;
99 +
100 + if (description.isInBox) {
101 description.save();
100 - }));
101 - }
102 + } else {
103 + transactionDescriptionBox.add(description);
104 + }
105 + }));
106 }
107
108 final TransactionInfo transactionInfo;
@@ -107,4 +111,4 @@ abstract class TransactionDetailsViewModelBase with Store {
111
112 final List<TransactionDetailsListItem> items;
113 bool showRecipientAddress;
110 -}
\ No newline at end of file
114 +}