fix getting correct currency from template (#898)
Serhii committed
May 3, 2023 at 10:01 UTC
f47f69080391a858eeaa836c492d2ebede106b60
5 files changed
+51
-28
lib/exchange/exchange_template.dart
+20
-9
@@ -4,14 +4,15 @@ part 'exchange_template.g.dart';
4
5
@HiveType(typeId: ExchangeTemplate.typeId)
6
class ExchangeTemplate extends HiveObject {
7
- ExchangeTemplate({
8
- required this.amountRaw,
9
- required this.depositCurrencyRaw,
10
- required this.receiveCurrencyRaw,
11
- required this.providerRaw,
12
- required this.depositAddressRaw,
13
- required this.receiveAddressRaw
14
- });
7
+ ExchangeTemplate(
8
+ {required this.amountRaw,
9
+ required this.depositCurrencyRaw,
10
+ required this.receiveCurrencyRaw,
11
+ required this.providerRaw,
12
+ required this.depositAddressRaw,
13
+ required this.receiveAddressRaw,
14
+ required this.depositCurrencyTitleRaw,
15
+ required this.receiveCurrencyTitleRaw});
16
17
static const typeId = 7;
18
static const boxName = 'ExchangeTemplate';
@@ -34,6 +35,12 @@ class ExchangeTemplate extends HiveObject {
35
@HiveField(5)
36
String? receiveAddressRaw;
37
38
+ @HiveField(6)
39
+ String? depositCurrencyTitleRaw;
40
+
41
+ @HiveField(7)
42
+ String? receiveCurrencyTitleRaw;
43
+
44
String get amount => amountRaw ?? '';
45
46
String get depositCurrency => depositCurrencyRaw ?? '';
@@ -45,4 +52,8 @@ class ExchangeTemplate extends HiveObject {
52
String get depositAddress => depositAddressRaw ?? '';
53
54
String get receiveAddress => receiveAddressRaw ?? '';
48
-}
\ No newline at end of file
55
+
56
+ String get depositCurrencyTitle => depositCurrencyTitleRaw ?? '';
57
+
58
+ String get receiveCurrencyTitle => receiveCurrencyTitleRaw ?? '';
59
+}
lib/src/screens/exchange/exchange_page.dart
+2
-2
@@ -280,8 +280,8 @@ class ExchangePage extends BasePage {
280
return TemplateTile(
281
key: UniqueKey(),
282
amount: template.amount,
283
- from: template.depositCurrency,
284
- to: template.receiveCurrency,
283
+ from: template.depositCurrencyTitle,
284
+ to: template.receiveCurrencyTitle,
285
onTap: () {
286
applyTemplate(context, exchangeViewModel, template);
287
},
lib/src/screens/exchange/exchange_template_page.dart
+6
-2
@@ -239,9 +239,13 @@ class ExchangeTemplatePage extends BasePage {
239
exchangeViewModel.addTemplate(
240
amount: exchangeViewModel.depositAmount,
241
depositCurrency:
242
- exchangeViewModel.depositCurrency.toString(),
242
+ exchangeViewModel.depositCurrency.name,
243
+ depositCurrencyTitle: exchangeViewModel
244
+ .depositCurrency.title + ' ${exchangeViewModel.depositCurrency.tag ?? ''}',
245
receiveCurrency:
244
- exchangeViewModel.receiveCurrency.toString(),
246
+ exchangeViewModel.receiveCurrency.name,
247
+ receiveCurrencyTitle: exchangeViewModel
248
+ .receiveCurrency.title + ' ${exchangeViewModel.receiveCurrency.tag ?? ''}',
249
provider: exchangeViewModel.provider.toString(),
250
depositAddress: exchangeViewModel.depositAddress,
251
receiveAddress: exchangeViewModel.receiveAddress);
lib/store/templates/exchange_template_store.dart
+17
-13
@@ -8,8 +8,8 @@ part 'exchange_template_store.g.dart';
8
class ExchangeTemplateStore = ExchangeTemplateBase with _$ExchangeTemplateStore;
9
10
abstract class ExchangeTemplateBase with Store {
11
- ExchangeTemplateBase({required this.templateSource})
12
- : templates = ObservableList<ExchangeTemplate>() {
11
+ ExchangeTemplateBase({required this.templateSource})
12
+ : templates = ObservableList<ExchangeTemplate>() {
13
templates = ObservableList<ExchangeTemplate>();
14
update();
15
}
@@ -20,27 +20,31 @@ abstract class ExchangeTemplateBase with Store {
20
Box<ExchangeTemplate> templateSource;
21
22
@action
23
- void update() =>
24
- templates.replaceRange(0, templates.length, templateSource.values.toList());
23
+ void update() => templates.replaceRange(0, templates.length, templateSource.values.toList());
24
25
@action
26
Future<void> addTemplate({
28
- required String amount,
29
- required String depositCurrency,
30
- required String receiveCurrency,
31
- required String provider,
32
- required String depositAddress,
33
- required String receiveAddress}) async {
27
+ required String amount,
28
+ required String depositCurrency,
29
+ required String receiveCurrency,
30
+ required String provider,
31
+ required String depositAddress,
32
+ required String receiveAddress,
33
+ required String depositCurrencyTitle,
34
+ required String receiveCurrencyTitle,
35
+ }) async {
36
final template = ExchangeTemplate(
37
amountRaw: amount,
38
depositCurrencyRaw: depositCurrency,
39
receiveCurrencyRaw: receiveCurrency,
40
providerRaw: provider,
41
depositAddressRaw: depositAddress,
40
- receiveAddressRaw: receiveAddress);
42
+ receiveAddressRaw: receiveAddress,
43
+ depositCurrencyTitleRaw: depositCurrencyTitle,
44
+ receiveCurrencyTitleRaw: receiveCurrencyTitle);
45
await templateSource.add(template);
46
}
47
48
@action
45
- Future<void> remove({required ExchangeTemplate template}) async => await template.delete();
46
-}
\ No newline at end of file
49
+ Future<void> remove({required ExchangeTemplate template}) async => await template.delete();
50
+}
lib/view_model/exchange/exchange_view_model.dart
+6
-2
@@ -578,14 +578,18 @@ abstract class ExchangeViewModelBase with Store {
578
required String receiveCurrency,
579
required String provider,
580
required String depositAddress,
581
- required String receiveAddress}) =>
581
+ required String receiveAddress,
582
+ required String depositCurrencyTitle,
583
+ required String receiveCurrencyTitle}) =>
584
_exchangeTemplateStore.addTemplate(
585
amount: amount,
586
depositCurrency: depositCurrency,
587
receiveCurrency: receiveCurrency,
588
provider: provider,
589
depositAddress: depositAddress,
588
- receiveAddress: receiveAddress);
590
+ receiveAddress: receiveAddress,
591
+ depositCurrencyTitle: depositCurrencyTitle,
592
+ receiveCurrencyTitle: receiveCurrencyTitle);
593
594
void removeTemplate({required ExchangeTemplate template}) =>
595
_exchangeTemplateStore.remove(template: template);