fix buy sell fiat calculation (#1930)

* fix buy sell fiat calculation

* skip IsReadyToTrade reaction

* Update lib/src/screens/buy/buy_sell_page.dart [skip ci]

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
Serhii 2025-01-03 22:29:53 +02:00 committed by GitHub
parent 471a2af527
commit bc80fa68df
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 8 additions and 0 deletions

View file

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

View file

@ -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<Quote>.from(sortedRecommendedQuotes + sortedQuotes);
await calculateBestRate();
final newQuotes = (sortedRecommendedQuotes + sortedQuotes);