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);