wallet card redesign
This commit is contained in:
@@ -1,44 +1,31 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'package:pshared/provider/ledger.dart';
|
||||
|
||||
import 'package:pweb/controllers/dashboard/balance/source_actions.dart';
|
||||
import 'package:pweb/pages/dashboard/buttons/balance/actions/bar.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class LedgerSourceActions extends StatelessWidget {
|
||||
final String ledgerAccountRef;
|
||||
final VoidCallback onAddFunds;
|
||||
final VoidCallback onWalletDetails;
|
||||
|
||||
const LedgerSourceActions({
|
||||
super.key,
|
||||
required this.ledgerAccountRef,
|
||||
required this.onAddFunds,
|
||||
required this.onWalletDetails,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final ledgerProvider = context.watch<LedgerAccountsProvider>();
|
||||
final loc = AppLocalizations.of(context)!;
|
||||
final isBusy =
|
||||
ledgerProvider.isWalletRefreshing(ledgerAccountRef) ||
|
||||
ledgerProvider.isLoading;
|
||||
final hasTarget = ledgerProvider.accounts.any(
|
||||
(a) => a.ledgerAccountRef == ledgerAccountRef,
|
||||
const controller = BalanceSourceActionsController();
|
||||
final state = controller.ledger(
|
||||
context: context,
|
||||
ledgerAccountRef: ledgerAccountRef,
|
||||
onAddFunds: onAddFunds,
|
||||
onWalletDetails: onWalletDetails,
|
||||
);
|
||||
|
||||
return BalanceActionsBar(
|
||||
isRefreshBusy: isBusy,
|
||||
canRefresh: hasTarget,
|
||||
onRefresh: () {
|
||||
context.read<LedgerAccountsProvider>().refreshBalance(ledgerAccountRef);
|
||||
},
|
||||
onAddFunds: onAddFunds,
|
||||
refreshLabel: loc.refreshBalance,
|
||||
addFundsLabel: loc.addFunds,
|
||||
);
|
||||
return BalanceActionsBar(state: state);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'package:pshared/provider/payment/wallets.dart';
|
||||
|
||||
import 'package:pweb/controllers/dashboard/balance/source_actions.dart';
|
||||
import 'package:pweb/pages/dashboard/buttons/balance/actions/bar.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class WalletSourceActions extends StatelessWidget {
|
||||
final String walletRef;
|
||||
@@ -21,22 +16,13 @@ class WalletSourceActions extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final walletsProvider = context.watch<WalletsProvider>();
|
||||
final loc = AppLocalizations.of(context)!;
|
||||
final isBusy =
|
||||
walletsProvider.isWalletRefreshing(walletRef) ||
|
||||
walletsProvider.isLoading;
|
||||
final hasTarget = walletsProvider.wallets.any((w) => w.id == walletRef);
|
||||
|
||||
return BalanceActionsBar(
|
||||
isRefreshBusy: isBusy,
|
||||
canRefresh: hasTarget,
|
||||
onRefresh: () {
|
||||
context.read<WalletsProvider>().refreshBalance(walletRef);
|
||||
},
|
||||
const controller = BalanceSourceActionsController();
|
||||
final state = controller.wallet(
|
||||
context: context,
|
||||
walletRef: walletRef,
|
||||
onAddFunds: onAddFunds,
|
||||
refreshLabel: loc.refreshBalance,
|
||||
addFundsLabel: loc.addFunds,
|
||||
);
|
||||
|
||||
return BalanceActionsBar(state: state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user