Make the exchange receive field always editable and can be taken from QR or Address book (#1230)

Omar Hatem committed Dec 16, 2023 at 03:20 UTC d756b367d3f703e909ca4e3f083fc7be009ccc14
4 files changed +1 -21
lib/src/screens/exchange/exchange_page.dart
-5
@@ -411,10 +411,6 @@ class ExchangePage extends BasePage {
411 }
412 });
413
414 - reaction((_) => exchangeViewModel.isReceiveAddressEnabled, (bool isEnabled) {
415 - receiveKey.currentState!.isAddressEditable(isEditable: isEnabled);
416 - });
417 -
414 reaction((_) => exchangeViewModel.isReceiveAmountEditable, (bool isReceiveAmountEditable) {
415 receiveKey.currentState!.isAmountEditable(isEditable: isReceiveAmountEditable);
416 });
@@ -670,7 +666,6 @@ class ExchangePage extends BasePage {
666 ? exchangeViewModel.wallet.walletAddresses.address
667 : exchangeViewModel.receiveAddress,
668 initialIsAmountEditable: exchangeViewModel.isReceiveAmountEditable,
673 - initialIsAddressEditable: exchangeViewModel.isReceiveAddressEnabled,
669 isAmountEstimated: true,
670 isMoneroWallet: exchangeViewModel.isMoneroWallet,
671 currencies: exchangeViewModel.receiveCurrencies,
lib/src/screens/exchange/exchange_template_page.dart
-7
@@ -174,8 +174,6 @@ class ExchangeTemplatePage extends BasePage {
174 ? exchangeViewModel.wallet.walletAddresses.address
175 : exchangeViewModel.receiveAddress,
176 initialIsAmountEditable: false,
177 - initialIsAddressEditable:
178 - exchangeViewModel.isReceiveAddressEnabled,
177 isAmountEstimated: true,
178 isMoneroWallet: exchangeViewModel.isMoneroWallet,
179 currencies: exchangeViewModel.receiveCurrencies,
@@ -328,11 +326,6 @@ class ExchangeTemplatePage extends BasePage {
326 }
327 });
328
331 - reaction((_) => exchangeViewModel.isReceiveAddressEnabled,
332 - (bool isEnabled) {
333 - receiveKey.currentState!.isAddressEditable(isEditable: isEnabled);
334 - });
335 -
329 reaction((_) => exchangeViewModel.provider, (ExchangeProvider? provider) {
330 receiveKey.currentState!.isAmountEditable(isEditable: false);
331 });
lib/src/screens/exchange/widgets/exchange_card.dart
+1 -1
@@ -23,7 +23,6 @@ class ExchangeCard extends StatefulWidget {
23 required this.initialAddress,
24 required this.initialWalletName,
25 required this.initialIsAmountEditable,
26 - required this.initialIsAddressEditable,
26 required this.isAmountEstimated,
27 required this.currencies,
28 required this.onCurrencySelected,
@@ -31,6 +30,7 @@ class ExchangeCard extends StatefulWidget {
30 this.currencyValueValidator,
31 this.addressTextFieldValidator,
32 this.title = '',
33 + this.initialIsAddressEditable = true,
34 this.hasRefundAddress = false,
35 this.isMoneroWallet = false,
36 this.currencyButtonColor = Colors.transparent,
lib/view_model/exchange/exchange_view_model.dart
-8
@@ -66,7 +66,6 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
66 receiveAddress = '',
67 depositAddress = '',
68 isDepositAddressEnabled = false,
69 - isReceiveAddressEnabled = false,
69 isReceiveAmountEditable = false,
70 _useTorOnly = false,
71 receiveCurrencies = <CryptoCurrency>[],
@@ -108,7 +107,6 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
107 bestRateSync = Timer.periodic(Duration(seconds: 10), (timer) => _calculateBestRate());
108
109 isDepositAddressEnabled = !(depositCurrency == wallet.currency);
111 - isReceiveAddressEnabled = !(receiveCurrency == wallet.currency);
110 depositAmount = '';
111 receiveAmount = '';
112 receiveAddress = '';
@@ -201,9 +199,6 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
199 @observable
200 bool isDepositAddressEnabled;
201
204 - @observable
205 - bool isReceiveAddressEnabled;
206 -
202 @observable
203 bool isReceiveAmountEntered;
204
@@ -315,7 +310,6 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
310 isFixedRateMode = false;
311 _onPairChange();
312 isDepositAddressEnabled = !(depositCurrency == wallet.currency);
318 - isReceiveAddressEnabled = !(receiveCurrency == wallet.currency);
313 }
314
315 @action
@@ -324,7 +318,6 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
318 isFixedRateMode = false;
319 _onPairChange();
320 isDepositAddressEnabled = !(depositCurrency == wallet.currency);
327 - isReceiveAddressEnabled = !(receiveCurrency == wallet.currency);
321 }
322
323 @action
@@ -535,7 +528,6 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with
528 depositAddress = depositCurrency == wallet.currency ? wallet.walletAddresses.address : '';
529 receiveAddress = receiveCurrency == wallet.currency ? wallet.walletAddresses.address : '';
530 isDepositAddressEnabled = !(depositCurrency == wallet.currency);
538 - isReceiveAddressEnabled = !(receiveCurrency == wallet.currency);
531 isFixedRateMode = false;
532 _onPairChange();
533 }