This commit is contained in:
Arseni
2026-03-11 18:26:21 +03:00
parent fdd8dd8845
commit 0172176978
46 changed files with 678 additions and 643 deletions

View File

@@ -3,9 +3,12 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pshared/controllers/balance_mask/wallets.dart';
import 'package:pshared/models/money.dart';
import 'package:pshared/models/payment/wallet.dart';
import 'package:pshared/utils/currency.dart';
import 'package:pweb/utils/money_display.dart';
class BalanceAmount extends StatelessWidget {
final Wallet wallet;
@@ -25,6 +28,13 @@ class BalanceAmount extends StatelessWidget {
final textTheme = Theme.of(context).textTheme;
final colorScheme = Theme.of(context).colorScheme;
final currencyBalance = currencyCodeToSymbol(wallet.currency);
final formattedBalance = formatMoneyUi(
context,
Money(
amount: amountToString(wallet.balance),
currency: currencyCodeToString(wallet.currency),
),
);
final wallets = context.watch<WalletsController>();
final isMasked = wallets.isBalanceMasked(wallet.id);
@@ -32,9 +42,7 @@ class BalanceAmount extends StatelessWidget {
mainAxisSize: MainAxisSize.min,
children: [
Text(
isMasked
? '•••• $currencyBalance'
: '${amountToString(wallet.balance)} $currencyBalance',
isMasked ? '•••• $currencyBalance' : formattedBalance,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: textTheme.headlineMedium?.copyWith(

View File

@@ -6,8 +6,8 @@ import 'package:pshared/models/payment/wallet.dart';
import 'package:pweb/models/dashboard/balance_item.dart';
import 'package:pweb/pages/dashboard/buttons/balance/add/card.dart';
import 'package:pweb/pages/dashboard/buttons/balance/config.dart';
import 'package:pweb/pages/dashboard/buttons/balance/source/card.dart';
import 'package:pweb/pages/dashboard/buttons/balance/source/cards/ledger.dart';
import 'package:pweb/pages/dashboard/buttons/balance/source/cards/wallet.dart';
class BalanceCarouselCardItem extends StatelessWidget {
@@ -29,9 +29,9 @@ class BalanceCarouselCardItem extends StatelessWidget {
@override
Widget build(BuildContext context) {
final card = switch (item) {
WalletBalanceItem(:final wallet) => WalletCard(
WalletBalanceItem(:final wallet) => BalanceSourceCard.wallet(
wallet: wallet,
onTopUp: () => onTopUp(wallet),
onAddFunds: () => onTopUp(wallet),
onTap: () => onWalletTap(wallet),
),
LedgerBalanceItem(:final account) => LedgerAccountCard(

View File

@@ -23,7 +23,7 @@ class LedgerBalanceAmount extends StatelessWidget {
final isMasked = controller.isBalanceMasked(account.ledgerAccountRef);
final balance = isMasked
? LedgerBalanceFormatter.formatMasked(account)
: LedgerBalanceFormatter.format(account);
: LedgerBalanceFormatter.format(context, account);
return Row(
mainAxisSize: MainAxisSize.min,

View File

@@ -61,7 +61,7 @@ class BalanceSourceCard extends StatelessWidget {
? null
: wallet.network!.localizedName(context);
final symbol = wallet.tokenSymbol?.trim();
final copyState = _copyController.wallet(wallet.depositAddress);
final copyState = _copyController.wallet(context, wallet.depositAddress);
return BalanceSourceCardLayout(
title: wallet.name,
@@ -105,7 +105,7 @@ class BalanceSourceCard extends StatelessWidget {
final badge = account.currency.trim().isEmpty
? null
: account.currency.toUpperCase();
final copyState = _copyController.ledger(accountCode);
final copyState = _copyController.ledger(context, accountCode);
return BalanceSourceCardLayout(
title: title,

View File

@@ -1,28 +0,0 @@
import 'package:flutter/material.dart';
import 'package:pshared/models/payment/wallet.dart';
import 'package:pweb/pages/dashboard/buttons/balance/source/card.dart';
class WalletCard extends StatelessWidget {
final Wallet wallet;
final VoidCallback onTopUp;
final VoidCallback onTap;
const WalletCard({
super.key,
required this.wallet,
required this.onTopUp,
required this.onTap,
});
@override
Widget build(BuildContext context) {
return BalanceSourceCard.wallet(
wallet: wallet,
onTap: onTap,
onAddFunds: onTopUp,
);
}
}