From af43e493abcc06285ee8cccab8e984be64dc5921 Mon Sep 17 00:00:00 2001 From: kyranjamie Date: Tue, 26 Mar 2024 12:52:09 +0100 Subject: [PATCH] fix: removes decimals from balances > $1,000 --- src/app/common/hooks/balance/use-total-balance.tsx | 5 ++++- src/app/common/money/format-money.ts | 8 ++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/app/common/hooks/balance/use-total-balance.tsx b/src/app/common/hooks/balance/use-total-balance.tsx index e1c07fbdc86..4f84a9eebbf 100644 --- a/src/app/common/hooks/balance/use-total-balance.tsx +++ b/src/app/common/hooks/balance/use-total-balance.tsx @@ -37,7 +37,10 @@ export function useTotalBalance({ btcAddress, stxAddress }: UseTotalBalanceArgs) const totalBalance = { ...stxUsdAmount, amount: stxUsdAmount.amount.plus(btcUsdAmount.amount) }; return { totalBalance, - totalUsdBalance: i18nFormatCurrency(totalBalance), + totalUsdBalance: i18nFormatCurrency( + totalBalance, + totalBalance.amount.isGreaterThanOrEqualTo(100_000) ? 0 : 2 + ), isLoading, }; }, [btcBalance, btcMarketData, stxMarketData, isLoading, stxBalance]); diff --git a/src/app/common/money/format-money.ts b/src/app/common/money/format-money.ts index bddb08c2b0c..0620bfbe4d1 100644 --- a/src/app/common/money/format-money.ts +++ b/src/app/common/money/format-money.ts @@ -14,9 +14,13 @@ export function formatMoneyPadded({ amount, symbol, decimals }: Money) { return `${amount.shiftedBy(-decimals).toFormat(decimals)} ${symbol}`; } -export function i18nFormatCurrency(quantity: Money, locale = 'en-US') { +export function i18nFormatCurrency(quantity: Money, decimals: number = 2) { if (quantity.symbol !== 'USD') throw new Error('Cannot format non-USD amounts'); - const currencyFormatter = new Intl.NumberFormat(locale, { style: 'currency', currency: 'USD' }); + const currencyFormatter = new Intl.NumberFormat('en-US', { + style: 'currency', + currency: 'USD', + maximumFractionDigits: decimals, + }); const formatted = currencyFormatter.format( quantity.amount.shiftedBy(-quantity.decimals).toNumber()