32 lines
1.1 KiB
Dart
32 lines
1.1 KiB
Dart
import 'package:flutter/widgets.dart';
|
|
|
|
import 'package:pshared/models/payment/methods/type.dart';
|
|
import 'package:pshared/models/payment/type.dart';
|
|
|
|
import 'package:pweb/utils/payment/masking.dart';
|
|
|
|
import 'package:pweb/generated/i18n/app_localizations.dart';
|
|
|
|
|
|
String getPaymentTypeLabel(BuildContext context, PaymentType type) {
|
|
final l10n = AppLocalizations.of(context)!;
|
|
return switch (type) {
|
|
PaymentType.card => l10n.paymentTypeCard,
|
|
PaymentType.bankAccount => l10n.paymentTypeBankAccount,
|
|
PaymentType.iban => l10n.paymentTypeIban,
|
|
PaymentType.wallet => l10n.paymentTypeWallet,
|
|
PaymentType.cryptoAddress => l10n.paymentTypeCryptoAddress,
|
|
};
|
|
}
|
|
|
|
String? _displayString(PaymentMethod m) => switch (m.type) {
|
|
PaymentType.card => maskCardNumber(m.cardData?.pan),
|
|
PaymentType.bankAccount => m.bankAccountData?.accountNumber,
|
|
PaymentType.iban => m.ibanData?.iban,
|
|
PaymentType.wallet => m.walletData?.walletId,
|
|
PaymentType.cryptoAddress => m.cryptoAddressData?.address,
|
|
};
|
|
|
|
String getPaymentTypeDescription(BuildContext context, PaymentMethod m) {
|
|
return _displayString(m) ?? AppLocalizations.of(context)!.notSet;
|
|
} |