Payout Page + Wallet Card Refactor #695
Reference in New Issue
Block a user
Delete Branch "SEND066"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
@@ -0,0 +95,4 @@context.pushNamed(PayoutRoutes.editWallet);}void _sendWalletPayout(BuildContext context, String walletRef) {тут дублирование кода, лучше helper сделать.
@@ -0,0 +15,4 @@BalanceCopyState wallet(String? depositAddress) {return BalanceCopyState(label: 'Copy Deposit Address',не локализовано
@@ -109,0 +131,4 @@bool _matchesCurrentSource(Payment payment) {final sourceType = _sourceType;if (sourceType == null || _sourceRefs.isEmpty) return true;for (final sourceRef in _sourceRefs) {лучше firstWhereOrNull(...) != null
@@ -0,0 +5,4 @@import 'package:pweb/pages/dashboard/buttons/balance/source/card.dart';class WalletCard extends StatelessWidget {Нужен этот класс? выглядит как просто обертка
@@ -0,0 +36,4 @@decoration: InputDecoration(labelText: loc.amount,border: const OutlineInputBorder(),prefixText: symbol == null ? null : '$symbol\u00A0',конвертеры с неразрывным пробелом (это он?) лучше куда-то в утилиты положить, чтобы не множить одинаковый код.
@@ -0,0 +40,4 @@selectedType: data.type,selectedIndex: 0,entries: [entry],onRemove: (_) {},на будущее?
@@ -0,0 +12,4 @@final amount = parseMoneyAmount(money.amount, fallback: double.nan);if (amount.isNaN) {return '${money.amount} ${money.currency}';выглядит подозрительно, очень много похожих консерваций. Почему? По-хорошему, решающее правило о приведении к нужному виде должно быть изолировано где-то утилитой, переиспользуемой везде. Еще как вариант: поискать специализированные библиотеки форматирования денег. Возможно, есть.
@@ -0,0 +42,4 @@case PaymentSourceType.wallet:return _walletSourceRef(source);case PaymentSourceType.ledger:return _ledgerSourceRef(source);default? не надо?
Если в PaymentSourceType добавлю новое значение, компилятор сразу заставит обработать его здесь, а с default это бы скрылось и потенциально забылось
@@ -0,0 +47,4 @@}String? _walletSourceRef(PaymentMethodData source) {if (source is ManagedWalletPaymentMethod) {а реально проверки типа нужны? Обычно это говорит о неудачной архитектуре реализации. Чтобы проверок типа избежать, отлично подходят функторы.
@@ -0,0 +74,4 @@final keys = switch (sourceType) {PaymentSourceType.wallet => const <String>['source_wallet_ref',очень не хочется на метаданные полагаться. Реально надо это? Я стараюсь нужное в стандартных структурах носить.