From f744e2228aa348acd96bdb064c72dfc77c069fac Mon Sep 17 00:00:00 2001 From: malik1004x Date: Tue, 14 Jul 2026 04:09:04 +0200 Subject: [PATCH] fix fiat amount resetting on swap page (#3358) * fix fiat amount resetting on swap page * fix pressing ALL in fiat input mode * populate amountController when disabling fiat mode * fix resetting to crypto amount after fiat amount is entered * fix rate fetching when switching currency for send all --- lib/new-ui/pages/swap_page.dart | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/new-ui/pages/swap_page.dart b/lib/new-ui/pages/swap_page.dart index 2120a9a1f..23b78aa79 100644 --- a/lib/new-ui/pages/swap_page.dart +++ b/lib/new-ui/pages/swap_page.dart @@ -271,7 +271,9 @@ class _NewSwapPageState extends State { widget.exchangeViewModel.changeReceiveAmount(amount: receiveAmountController.text); } else { printV("bestrate"); - if (depositAmountController.text == S.current.all) + if ((depositKey.currentState?._fiatInputMode ?? false) || + depositAmountController.text.isEmpty || + depositAmountController.text == S.current.all) widget.exchangeViewModel .changeDepositAmount(amount: widget.exchangeViewModel.depositAmount); else @@ -1063,9 +1065,16 @@ class SwapAmountBoxState extends State { setState(() => _fiatInputMode = !_fiatInputMode); if (_fiatInputMode) { updateFiatAmount(); + } else { + amountController.text = widget.exchangeViewModel.depositAmount; } }, - onAllButtonPressed: widget.allAmount, + onAllButtonPressed: (){ + setState(() { + _fiatInputMode = false; + }); + widget.allAmount?.call(); + }, cryptoAmount: widget.isReceiverCard ? widget.exchangeViewModel.roundedReceiveAmount(6) : widget.exchangeViewModel.roundedDepositAmount(6),