diff --git a/lib/exchange/changenow/changenow_exchange_provider.dart b/lib/exchange/changenow/changenow_exchange_provider.dart index 02e6d9f7c..01b6f1b96 100644 --- a/lib/exchange/changenow/changenow_exchange_provider.dart +++ b/lib/exchange/changenow/changenow_exchange_provider.dart @@ -158,30 +158,17 @@ class ChangeNowExchangeProvider extends ExchangeProvider { ? DateTime.parse(expiredAtRaw).toLocal() : null; - if (expiredAt != null) { - return Trade( - id: id, - from: from, - to: to, - provider: description, - inputAddress: inputAddress, - amount: expectedSendAmount, - state: state, - extraId: extraId, - expiredAt: expiredAt, - outputTransaction: outputTransaction); - } else { - return Trade( - id: id, - from: from, - to: to, - provider: description, - inputAddress: inputAddress, - amount: expectedSendAmount, - state: state, - extraId: extraId, - outputTransaction: outputTransaction); - } + return Trade( + id: id, + from: from, + to: to, + provider: description, + inputAddress: inputAddress, + amount: expectedSendAmount, + state: state, + extraId: extraId, + expiredAt: expiredAt, + outputTransaction: outputTransaction); } @override @@ -215,23 +202,7 @@ class ChangeNowExchangeProvider extends ExchangeProvider { return estimatedAmount; } else { - final url = isFixedRateMode - ? apiUri + - _exchangeAmountUriSufix + - _fixedRateUriSufix + - amount.toString() + - '/' + - from.toString() + - '_' + - to.toString() + - '?api_key=' + apiKey - : apiUri + - _exchangeAmountUriSufix + - amount.toString() + - '/' + - from.toString() + - '_' + - to.toString(); + final url = defineUrlForCalculatingAmount(from, to, amount, isFixedRateMode); final response = await get(url); final responseJSON = json.decode(response.body) as Map; final estimatedAmount = responseJSON['estimatedAmount'] as double; @@ -239,4 +210,28 @@ class ChangeNowExchangeProvider extends ExchangeProvider { return estimatedAmount; } } + + static String defineUrlForCalculatingAmount( + CryptoCurrency from, + CryptoCurrency to, + double amount, + bool isFixedRateMode) { + return isFixedRateMode + ? apiUri + + _exchangeAmountUriSufix + + _fixedRateUriSufix + + amount.toString() + + '/' + + from.toString() + + '_' + + to.toString() + + '?api_key=' + apiKey + : apiUri + + _exchangeAmountUriSufix + + amount.toString() + + '/' + + from.toString() + + '_' + + to.toString(); + } } diff --git a/lib/view_model/settings/settings_view_model.dart b/lib/view_model/settings/settings_view_model.dart index 8307c9d44..c0dcf27bd 100644 --- a/lib/view_model/settings/settings_view_model.dart +++ b/lib/view_model/settings/settings_view_model.dart @@ -20,13 +20,11 @@ import 'package:cake_wallet/entities/node.dart'; import 'package:cake_wallet/entities/monero_transaction_priority.dart'; import 'package:cake_wallet/entities/action_list_display_mode.dart'; import 'package:cake_wallet/view_model/settings/version_list_item.dart'; -import 'package:cake_wallet/view_model/settings/link_list_item.dart'; import 'package:cake_wallet/view_model/settings/picker_list_item.dart'; import 'package:cake_wallet/view_model/settings/regular_list_item.dart'; import 'package:cake_wallet/view_model/settings/settings_list_item.dart'; import 'package:cake_wallet/view_model/settings/switcher_list_item.dart'; import 'package:cake_wallet/src/screens/auth/auth_page.dart'; -import 'package:url_launcher/url_launcher.dart'; part 'settings_view_model.g.dart'; @@ -152,20 +150,12 @@ abstract class SettingsViewModelBase with Store { title: S.current.settings_terms_and_conditions, handler: (BuildContext context) => Navigator.of(context).pushNamed(Routes.readDisclaimer), - ), - RegularListItem( - title: S.current.faq, - handler: (BuildContext context) async { - if (await canLaunch(url)) await launch(url); - }, ) ], [VersionListItem(title: currentVersion)] ]; } - static const url = 'https://cakewallet.com/guide/'; - @observable String currentVersion; diff --git a/lib/view_model/support_view_model.dart b/lib/view_model/support_view_model.dart index 4e5633b50..9173c7919 100644 --- a/lib/view_model/support_view_model.dart +++ b/lib/view_model/support_view_model.dart @@ -1,11 +1,11 @@ import 'package:cake_wallet/generated/i18n.dart'; -import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/view_model/settings/link_list_item.dart'; import 'package:cake_wallet/view_model/settings/regular_list_item.dart'; import 'package:cake_wallet/view_model/settings/settings_list_item.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:mobx/mobx.dart'; +import 'package:url_launcher/url_launcher.dart'; part 'support_view_model.g.dart'; @@ -16,8 +16,9 @@ abstract class SupportViewModelBase with Store { items = [ RegularListItem( title: S.current.faq, - handler: (BuildContext context) => - Navigator.pushNamed(context, Routes.faq), + handler: (BuildContext context) async { + if (await canLaunch(url)) await launch(url); + }, ), LinkListItem( title: 'Email', @@ -40,5 +41,7 @@ abstract class SupportViewModelBase with Store { link: 'mailto:support@changenow.io') ]; } + static const url = 'https://cakewallet.com/guide/'; + List items; } \ No newline at end of file