new project stable version

This commit is contained in:
2026-05-10 19:11:31 +03:00
commit 3616f84556
391 changed files with 23857 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
enum AddCardStatus { initial, loading, success, failure }
class AddCardState {
final AddCardStatus status;
final String cardNumber;
final String expiryDate;
final String cvv;
final String cardHolder;
final String errorMessage;
const AddCardState({
this.status = AddCardStatus.initial,
this.cardNumber = '',
this.expiryDate = '',
this.cvv = '',
this.cardHolder = '',
this.errorMessage = '',
});
AddCardState copyWith({
AddCardStatus? status,
String? cardNumber,
String? expiryDate,
String? cvv,
String? cardHolder,
String? errorMessage,
}) {
return AddCardState(
status: status ?? this.status,
cardNumber: cardNumber ?? this.cardNumber,
expiryDate: expiryDate ?? this.expiryDate,
cvv: cvv ?? this.cvv,
cardHolder: cardHolder ?? this.cardHolder,
errorMessage: errorMessage ?? this.errorMessage,
);
}
bool get isFormValid {
final cleanCardNumber = cardNumber.replaceAll(' ', '');
return cleanCardNumber.length == 16 &&
expiryDate.length == 5 &&
cvv.length == 3 &&
cardHolder.trim().isNotEmpty;
}
}