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
+}