diff --git a/src/widgets/balance-card/ui/BalanceCard.tsx b/src/widgets/balance-card/ui/BalanceCard.tsx index a9d16df..6e095d9 100644 --- a/src/widgets/balance-card/ui/BalanceCard.tsx +++ b/src/widgets/balance-card/ui/BalanceCard.tsx @@ -8,7 +8,7 @@ import { usePortfolio } from '@features/wallet' export function BalanceCard() { const { data, isLoading } = usePortfolio() const display = - isLoading || !data + isLoading || !data || data.totalUsd == null ? '$—' : `$${data.totalUsd.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` diff --git a/src/widgets/token-table/model/useTokenRows.ts b/src/widgets/token-table/model/useTokenRows.ts index bde9793..e24813d 100644 --- a/src/widgets/token-table/model/useTokenRows.ts +++ b/src/widgets/token-table/model/useTokenRows.ts @@ -17,11 +17,13 @@ const CHAIN_MAP: Record = { BSC: { chain: 'BSC', type: 'native' }, } -function formatUsd(value: number): string { +function formatUsd(value: number | null | undefined): string { + if (value == null) return '$—' return `$${value.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` } -function formatPrice(value: number): string { +function formatPrice(value: number | null | undefined): string { + if (value == null) return '$—' if (value >= 1) { return `$${value.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` } @@ -54,7 +56,7 @@ export function useTokenRows() { : chainData.tokens[src.type === 'token' ? src.symbol : t.ticker] if (amount) { - bal = amount.formatted + bal = amount.formatted ?? t.bal usd = formatUsd(amount.usdValue) } }