diff --git a/lib/src/screens/buy/buy_sell_page.dart b/lib/src/screens/buy/buy_sell_page.dart index 945559bb6..9d0f17ee3 100644 --- a/lib/src/screens/buy/buy_sell_page.dart +++ b/lib/src/screens/buy/buy_sell_page.dart @@ -312,6 +312,10 @@ class BuySellPage extends BasePage { reaction((_) => buySellViewModel.isReadyToTrade, (bool isReady) { if (isReady) { + if (buySellViewModel.skipIsReadyToTradeReaction) { + buySellViewModel.skipIsReadyToTradeReaction = false; + return; + } if (cryptoAmountController.text.isNotEmpty && cryptoAmountController.text != S.current.fetching) { buySellViewModel.changeCryptoAmount(amount: cryptoAmountController.text); diff --git a/lib/view_model/buy/buy_sell_view_model.dart b/lib/view_model/buy/buy_sell_view_model.dart index d16307134..508d68a82 100644 --- a/lib/view_model/buy/buy_sell_view_model.dart +++ b/lib/view_model/buy/buy_sell_view_model.dart @@ -149,6 +149,9 @@ abstract class BuySellViewModelBase extends WalletChangeListenerViewModel with S @observable BuySellQuotLoadingState buySellQuotState; + @observable + bool skipIsReadyToTradeReaction = false; + @computed bool get isReadyToTrade { final hasSelectedQuote = selectedQuote != null; @@ -266,6 +269,7 @@ abstract class BuySellViewModelBase extends WalletChangeListenerViewModel with S } void onTapChoseProvider(BuildContext context) async { + skipIsReadyToTradeReaction = true; final initialQuotes = List.from(sortedRecommendedQuotes + sortedQuotes); await calculateBestRate(); final newQuotes = (sortedRecommendedQuotes + sortedQuotes);