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
malik1004x committed
Jul 14, 2026 at 04:09 UTC
f744e2228aa348acd96bdb064c72dfc77c069fac
1 file changed
+11
-2
lib/new-ui/pages/swap_page.dart
+11
-2
@@ -271,7 +271,9 @@ class _NewSwapPageState extends State<NewSwapPage> {
271
widget.exchangeViewModel.changeReceiveAmount(amount: receiveAmountController.text);
272
} else {
273
printV("bestrate");
274
- if (depositAmountController.text == S.current.all)
274
+ if ((depositKey.currentState?._fiatInputMode ?? false) ||
275
+ depositAmountController.text.isEmpty ||
276
+ depositAmountController.text == S.current.all)
277
widget.exchangeViewModel
278
.changeDepositAmount(amount: widget.exchangeViewModel.depositAmount);
279
else
@@ -1063,9 +1065,16 @@ class SwapAmountBoxState extends State<SwapAmountBox> {
1065
setState(() => _fiatInputMode = !_fiatInputMode);
1066
if (_fiatInputMode) {
1067
updateFiatAmount();
1068
+ } else {
1069
+ amountController.text = widget.exchangeViewModel.depositAmount;
1070
}
1071
},
1068
- onAllButtonPressed: widget.allAmount,
1072
+ onAllButtonPressed: (){
1073
+ setState(() {
1074
+ _fiatInputMode = false;
1075
+ });
1076
+ widget.allAmount?.call();
1077
+ },
1078
cryptoAmount: widget.isReceiverCard
1079
? widget.exchangeViewModel.roundedReceiveAmount(6)
1080
: widget.exchangeViewModel.roundedDepositAmount(6),