import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:pshared/controllers/payment/source.dart'; import 'package:pshared/models/currency.dart'; import 'package:pshared/models/payment/source.dart'; import 'package:pshared/utils/currency.dart'; import 'package:pweb/pages/dashboard/payouts/summary/fee.dart'; import 'package:pweb/pages/dashboard/payouts/summary/recipient_receives.dart'; import 'package:pweb/pages/dashboard/payouts/summary/sent_amount.dart'; import 'package:pweb/pages/dashboard/payouts/summary/total.dart'; class PaymentSummary extends StatelessWidget { final double spacing; const PaymentSummary({super.key, required this.spacing}); Currency _currencyForSource(PaymentSource? source) { if (source == null) return Currency.usdt; return switch (source.type) { PaymentSourceType.wallet => source.wallet!.currency, PaymentSourceType.ledger => () { final code = source.ledgerAccount?.currency.trim().toUpperCase() ?? ''; try { return currencyStringToCode(code); } catch (_) { return Currency.rub; } }(), }; } @override Widget build(BuildContext context) { final source = context.watch().selectedSource; final sentCurrency = _currencyForSource(source); return Align( alignment: Alignment.center, child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ PaymentSentAmountRow(currency: sentCurrency), const PaymentFeeRow(), const PaymentRecipientReceivesRow(), SizedBox(height: spacing), const PaymentTotalRow(), ], ), ); } }