fix: amount getting wiped when pasting address

This commit is contained in:
OmarHatem 2025-06-26 22:32:11 +03:00
parent a3c2102379
commit 0aace0cf7d
2 changed files with 13 additions and 6 deletions

View file

@ -302,7 +302,8 @@ class ExchangeCardState<T extends Currency> extends State<ExchangeCard<T>> {
final paymentRequest = PaymentRequest.fromUri(uri);
addressController.text = paymentRequest.address;
if (amountController.text.isNotEmpty) {
if (amountController.text.isNotEmpty &&
paymentRequest.amount.isNotEmpty) {
_showAmountPopup(context, paymentRequest);
return;
}

View file

@ -263,11 +263,17 @@ class AddressTextField<T extends Currency> extends StatelessWidget {
final address = clipboard?.text ?? '';
if (address.isNotEmpty) {
try {
final uri = Uri.parse(address);
controller?.text = uri.path;
onURIScanned?.call(uri);
} catch (_) {
// if it has query parameters then it's a valid uri
// added because Uri.parse(address) can parse a normal address string and would still be valid
if (address.contains("=")) {
try {
final uri = Uri.parse(address);
controller?.text = uri.path;
onURIScanned?.call(uri);
} catch (_) {
controller?.text = address;
}
} else {
controller?.text = address;
}
}