import 'package:pweb/utils/payment/operation_code.dart'; import 'package:pweb/generated/i18n/app_localizations.dart'; String resolveOperationTitle(AppLocalizations loc, String? code) { final pair = parseOperationCodePair(code); if (pair == null) return '-'; final operation = _localizedOperation(loc, pair.operation); final action = _localizedAction(loc, pair.action); return loc.paymentOperationPair(operation, action); } String _localizedOperation(AppLocalizations loc, String operation) { switch (operation) { case 'card_payout': return loc.paymentOperationCardPayout; case 'crypto': return loc.paymentOperationCrypto; case 'settlement': return loc.paymentOperationSettlement; case 'ledger': return loc.paymentOperationLedger; default: return _humanizeToken(operation); } } String _localizedAction(AppLocalizations loc, String action) { switch (action) { case 'send': return loc.paymentOperationActionSend; case 'observe': return loc.paymentOperationActionObserve; case 'fx_convert': return loc.paymentOperationActionFxConvert; case 'credit': return loc.paymentOperationActionCredit; case 'block': return loc.paymentOperationActionBlock; case 'debit': return loc.paymentOperationActionDebit; case 'release': return loc.paymentOperationActionRelease; case 'move': return loc.paymentOperationActionMove; default: return _humanizeToken(action); } } String _humanizeToken(String token) { final parts = token.split('_').where((part) => part.isNotEmpty).toList(); if (parts.isEmpty) return token; return parts .map((part) => '${part[0].toUpperCase()}${part.substring(1)}') .join(' '); }