Multiple Wallet support, history of each wallet and updated payment page

This commit is contained in:
Arseni
2025-11-21 19:22:23 +03:00
parent 4c64a8d6e6
commit 87636a7ec3
68 changed files with 2154 additions and 701 deletions

View File

@@ -56,10 +56,21 @@ class _CardFormMinimalState extends State<CardFormMinimal> {
@override
void didUpdateWidget(covariant CardFormMinimal oldWidget) {
super.didUpdateWidget(oldWidget);
if (widget.initialData == null && oldWidget.initialData != null) {
final newData = widget.initialData;
final oldData = oldWidget.initialData;
if (newData == null && oldData != null) {
_panController.clear();
_firstNameController.clear();
_lastNameController.clear();
return;
}
if (newData != null && newData != oldData) {
_panController.text = newData.pan;
_firstNameController.text = newData.firstName;
_lastNameController.text = newData.lastName;
WidgetsBinding.instance.addPostFrameCallback((_) => _emitIfValid());
}
}

View File

@@ -57,11 +57,23 @@ class _IbanFormState extends State<IbanForm> {
@override
void didUpdateWidget(covariant IbanForm oldWidget) {
super.didUpdateWidget(oldWidget);
if (widget.initialData == null && oldWidget.initialData != null) {
final newData = widget.initialData;
final oldData = oldWidget.initialData;
if (newData == null && oldData != null) {
_ibanController.clear();
_accountHolderController.clear();
_bicController.clear();
_bankNameController.clear();
return;
}
if (newData != null && newData != oldData) {
_ibanController.text = newData.iban;
_accountHolderController.text = newData.accountHolder;
_bicController.text = newData.bic ?? '';
_bankNameController.text = newData.bankName ?? '';
WidgetsBinding.instance.addPostFrameCallback((_) => _emitIfValid());
}
}

View File

@@ -66,7 +66,10 @@ class _RussianBankFormState extends State<RussianBankForm> {
@override
void didUpdateWidget(covariant RussianBankForm oldWidget) {
super.didUpdateWidget(oldWidget);
if (widget.initialData == null && oldWidget.initialData != null) {
final newData = widget.initialData;
final oldData = oldWidget.initialData;
if (newData == null && oldData != null) {
_recipientNameController.clear();
_innController.clear();
_kppController.clear();
@@ -74,6 +77,18 @@ class _RussianBankFormState extends State<RussianBankForm> {
_bikController.clear();
_accountNumberController.clear();
_correspondentAccountController.clear();
return;
}
if (newData != null && newData != oldData) {
_recipientNameController.text = newData.recipientName;
_innController.text = newData.inn;
_kppController.text = newData.kpp;
_bankNameController.text = newData.bankName;
_bikController.text = newData.bik;
_accountNumberController.text = newData.accountNumber;
_correspondentAccountController.text = newData.correspondentAccount;
WidgetsBinding.instance.addPostFrameCallback((_) => _emitIfValid());
}
}

View File

@@ -41,8 +41,16 @@ class _WalletFormState extends State<WalletForm> {
@override
void didUpdateWidget(covariant WalletForm oldWidget) {
super.didUpdateWidget(oldWidget);
if (widget.initialData == null && oldWidget.initialData != null) {
final newData = widget.initialData;
final oldData = oldWidget.initialData;
if (newData == null && oldData != null) {
_walletIdController.clear();
return;
}
if (newData != null && newData != oldData) {
_walletIdController.text = newData.walletId;
}
}