chain network name display fixed

This commit is contained in:
Stephan D
2025-12-24 18:17:35 +01:00
parent 5836292adb
commit 9e6d530385
24 changed files with 143 additions and 78 deletions

View File

@@ -1,9 +1,8 @@
import 'package:pshared/models/currency.dart';
import 'package:pshared/models/wallet/wallet.dart' as domain;
import 'package:pshared/models/currency.dart';
import 'package:pweb/models/wallet.dart';
extension WalletUiMapper on domain.WalletModel {
Wallet toUi() {
final amountStr = availableMoney?.amount ?? balance?.available?.amount ?? '0';

View File

@@ -1,6 +1,6 @@
import 'package:pshared/models/currency.dart';
import 'package:pshared/models/describable.dart';
import 'package:pshared/models/payment/chain_network.dart';
class Wallet implements Describable {
final String id;
@@ -10,7 +10,7 @@ class Wallet implements Describable {
final bool isHidden;
final DateTime calculatedAt;
final String? depositAddress;
final String? network;
final ChainNetwork? network;
final String? tokenSymbol;
final String? contractAddress;
final Describable describable;
@@ -42,7 +42,7 @@ class Wallet implements Describable {
String? walletUserID,
bool? isHidden,
String? depositAddress,
String? network,
ChainNetwork? network,
String? tokenSymbol,
String? contractAddress,
Describable? describable,

View File

@@ -2,9 +2,10 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
import 'package:pweb/providers/two_factor.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class ResendCodeButton extends StatelessWidget {
const ResendCodeButton({super.key});

View File

@@ -1,16 +1,16 @@
import 'package:flutter/material.dart';
import 'package:pshared/models/payment/methods/data.dart';
import 'package:pshared/models/payment/methods/data.dart';
import 'package:pshared/models/payment/type.dart';
import 'package:pshared/models/recipient/status.dart';
import 'package:pshared/models/recipient/type.dart';
import 'package:pweb/utils/payment/label.dart';
import 'package:pweb/pages/address_book/form/method_tile.dart';
import 'package:pweb/pages/address_book/form/widgets/button.dart';
import 'package:pweb/pages/address_book/form/widgets/email_field.dart';
import 'package:pweb/pages/address_book/form/widgets/header.dart';
import 'package:pweb/pages/address_book/form/widgets/name_field.dart';
import 'package:pweb/utils/payment/label.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';

View File

@@ -1,8 +1,12 @@
import 'package:flutter/material.dart';
import 'package:pshared/models/payment/chain_network.dart';
import 'package:pshared/utils/l10n/chain.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class BalanceHeader extends StatelessWidget {
final String? walletNetwork;
final ChainNetwork? walletNetwork;
final String? tokenSymbol;
const BalanceHeader({
@@ -15,14 +19,33 @@ class BalanceHeader extends StatelessWidget {
Widget build(BuildContext context) {
final textTheme = Theme.of(context).textTheme;
final colorScheme = Theme.of(context).colorScheme;
final loc = AppLocalizations.of(context)!;
final symbol = tokenSymbol?.trim();
final networkLabel = (walletNetwork == null || walletNetwork == ChainNetwork.unspecified)
? null
: walletNetwork!.localizedName(context);
return Row(
children: [
Text(
'Crypto Wallet',
style: textTheme.titleMedium?.copyWith(
color: colorScheme.onSurface,
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
loc.paymentTypeCryptoWallet,
style: textTheme.titleMedium?.copyWith(
color: colorScheme.onSurface,
),
),
if (networkLabel != null)
Text(
networkLabel,
style: textTheme.bodySmall?.copyWith(
color: colorScheme.onSurfaceVariant,
fontWeight: FontWeight.w500,
),
),
],
),
),
if (symbol != null && symbol.isNotEmpty) ...[

View File

@@ -2,9 +2,10 @@ import 'package:flutter/material.dart';
import 'package:pshared/models/payment/type.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
import 'package:pweb/utils/payment/label.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class PaymentMethodTypeSelector extends StatelessWidget {
final PaymentType? value;

View File

@@ -2,9 +2,10 @@ import 'package:flutter/material.dart';
import 'package:pshared/models/payment/methods/russian_bank.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
import 'package:pweb/utils/text_field_styles.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class RussianBankForm extends StatefulWidget {
final void Function(RussianBankAccountPaymentMethod) onChanged;

View File

@@ -2,9 +2,10 @@ import 'package:flutter/material.dart';
import 'package:pshared/models/payment/methods/wallet.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
import 'package:pweb/utils/text_field_styles.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class WalletForm extends StatefulWidget {
final void Function(WalletPaymentMethod) onChanged;

View File

@@ -7,12 +7,10 @@ class SectionTitle extends StatelessWidget {
const SectionTitle(this.title, {super.key});
@override
Widget build(BuildContext context) {
return Text(
title,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.w600,
),
);
}
Widget build(BuildContext context) => Text(
title,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.w600,
),
);
}

View File

@@ -3,12 +3,13 @@ import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pshared/utils/currency.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
import 'package:pweb/models/wallet.dart';
import 'package:pweb/pages/dashboard/buttons/balance/amount.dart';
import 'package:pweb/providers/wallets.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class WalletCard extends StatelessWidget {
final Wallet wallet;

View File

@@ -5,6 +5,7 @@ import 'package:provider/provider.dart';
import 'package:pweb/app/router/payout_routes.dart';
import 'package:pweb/providers/wallets.dart';
import 'package:pweb/widgets/sidebar/destinations.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';

View File

@@ -4,6 +4,8 @@ import 'package:provider/provider.dart';
import 'package:pweb/providers/wallets.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class WalletEditHeader extends StatelessWidget {
const WalletEditHeader({super.key});
@@ -12,6 +14,7 @@ class WalletEditHeader extends StatelessWidget {
Widget build(BuildContext context) {
final provider = context.watch<WalletsProvider>();
final wallet = provider.selectedWallet;
final loc = AppLocalizations.of(context)!;
if (wallet == null) {
return const SizedBox.shrink();
@@ -29,7 +32,7 @@ class WalletEditHeader extends StatelessWidget {
spacing: 4,
children: [
Text(
'Crypto Wallet',
loc.paymentTypeCryptoWallet,
style: theme.textTheme.headlineMedium!.copyWith(
fontWeight: FontWeight.bold,
),

View File

@@ -1,8 +1,8 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pweb/models/wallet.dart';
import 'package:pweb/models/wallet.dart';
import 'package:pweb/pages/payout_page/wallet/card.dart';
import 'package:pweb/providers/wallets.dart';

View File

@@ -1,8 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_settings_ui/flutter_settings_ui.dart';
import 'package:provider/provider.dart';
import 'package:flutter_settings_ui/flutter_settings_ui.dart';
import 'package:pweb/models/edit_state.dart';
import 'package:pweb/utils/error/snackbar.dart';

View File

@@ -1,8 +1,9 @@
import 'package:flutter/material.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
import 'package:pweb/pages/settings/widgets/base.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
const _kSearchThreshold = 12;

View File

@@ -1,6 +1,8 @@
import 'package:flutter/material.dart';
import 'package:pshared/models/payment/chain_network.dart';
import 'package:pshared/utils/currency.dart';
import 'package:pshared/utils/l10n/chain.dart';
import 'package:pweb/models/wallet.dart';
import 'package:pweb/pages/wallet_top_up/details.dart';
@@ -25,7 +27,10 @@ class WalletTopUpContent extends StatelessWidget {
final theme = Theme.of(context);
final address = _resolveAddress(wallet);
final network = wallet.network?.trim();
final network = wallet.network;
final networkLabel = (network == null || network == ChainNetwork.unspecified)
? null
: network.localizedName(context);
final assetLabel = wallet.tokenSymbol ?? currencyCodeToSymbol(wallet.currency);
return Align(
@@ -51,7 +56,7 @@ class WalletTopUpContent extends StatelessWidget {
SizedBox(height: dimensions.paddingLarge),
WalletTopUpMeta(
assetLabel: assetLabel,
network: network,
network: networkLabel,
walletId: wallet.walletUserID,
),
SizedBox(height: dimensions.paddingXLarge),

View File

@@ -20,7 +20,7 @@ class WalletTopUpHeader extends StatelessWidget {
final symbol = tokenSymbol?.trim();
final subtitle = [
'Crypto Wallet',
loc.paymentTypeCryptoWallet,
if (symbol != null && symbol.isNotEmpty) symbol,
].join(' · ');