refactor of money utils with new money2 package
This commit is contained in:
@@ -1,96 +1,27 @@
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
import 'package:pshared/models/asset.dart';
|
||||
import 'package:pshared/models/money.dart';
|
||||
import 'package:money2/money2.dart';
|
||||
|
||||
import 'package:pshared/utils/currency.dart';
|
||||
import 'package:pshared/utils/money.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
String unavailableMoneyValue(BuildContext context) {
|
||||
return AppLocalizations.of(context)!.valueUnavailable;
|
||||
}
|
||||
|
||||
String unavailableMoneyValueFromL10n(AppLocalizations l10n) {
|
||||
return l10n.valueUnavailable;
|
||||
}
|
||||
|
||||
String formatMoneyUi(
|
||||
BuildContext context,
|
||||
Money? money, {
|
||||
String separator = ' ',
|
||||
}) {
|
||||
return formatMoneyUiWithL10n(
|
||||
AppLocalizations.of(context)!,
|
||||
money,
|
||||
separator: separator,
|
||||
);
|
||||
}
|
||||
|
||||
String formatMoneyUiWithL10n(
|
||||
AppLocalizations l10n,
|
||||
Money? money, {
|
||||
String separator = ' ',
|
||||
}) {
|
||||
final unavailableValue = unavailableMoneyValueFromL10n(l10n);
|
||||
return formatMoneyDisplay(
|
||||
money,
|
||||
fallback: unavailableValue,
|
||||
invalidAmountFallback: unavailableValue,
|
||||
separator: separator,
|
||||
);
|
||||
String formatMoneyUi(BuildContext context, Money? money) {
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
if (money == null) return l10n.valueUnavailable;
|
||||
return money.toString();
|
||||
}
|
||||
|
||||
String formatAmountUi(
|
||||
BuildContext context, {
|
||||
required double amount,
|
||||
required String currency,
|
||||
String separator = ' ',
|
||||
}) {
|
||||
return formatAmountUiWithL10n(
|
||||
AppLocalizations.of(context)!,
|
||||
amount: amount,
|
||||
currency: currency,
|
||||
separator: separator,
|
||||
);
|
||||
}
|
||||
final l10n = AppLocalizations.of(context)!;
|
||||
final moneyCurrency = money2CurrencyFromCode(currency);
|
||||
if (moneyCurrency == null) return l10n.valueUnavailable;
|
||||
|
||||
String formatAmountUiWithL10n(
|
||||
AppLocalizations l10n, {
|
||||
required double amount,
|
||||
required String currency,
|
||||
String separator = ' ',
|
||||
}) {
|
||||
return formatMoneyUiWithL10n(
|
||||
l10n,
|
||||
Money(amount: amountToString(amount), currency: currency),
|
||||
separator: separator,
|
||||
);
|
||||
}
|
||||
|
||||
String formatAssetUi(
|
||||
BuildContext context,
|
||||
Asset? asset, {
|
||||
String separator = ' ',
|
||||
}) {
|
||||
return formatAssetUiWithL10n(
|
||||
AppLocalizations.of(context)!,
|
||||
asset,
|
||||
separator: separator,
|
||||
);
|
||||
}
|
||||
|
||||
String formatAssetUiWithL10n(
|
||||
AppLocalizations l10n,
|
||||
Asset? asset, {
|
||||
String separator = ' ',
|
||||
}) {
|
||||
if (asset == null) return unavailableMoneyValueFromL10n(l10n);
|
||||
return formatAmountUiWithL10n(
|
||||
l10n,
|
||||
amount: asset.amount,
|
||||
currency: currencyCodeToString(asset.currency),
|
||||
separator: separator,
|
||||
);
|
||||
final money = Money.fromNumWithCurrency(amount, moneyCurrency);
|
||||
return money.toString();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user