diff --git a/ext/src/pages/Popup/SettingsPage.tsx b/ext/src/pages/Popup/SettingsPage.tsx index bacd5c6c3..3235465b6 100644 --- a/ext/src/pages/Popup/SettingsPage.tsx +++ b/ext/src/pages/Popup/SettingsPage.tsx @@ -7,7 +7,7 @@ import { HDSegwitBech32Wallet } from '@shared/class/wallets/hd-segwit-bech32-wal import { SparkWallet } from '@shared/class/wallets/spark-wallet'; import { AccountNumberContext } from '@shared/hooks/AccountNumberContext'; import { EStep, InitializationContext } from '@shared/hooks/InitializationContext'; -import { SETTINGS_CONFIG } from '@shared/hooks/SettingsContext'; +import { AppSettings, SETTINGS_CONFIG } from '@shared/hooks/SettingsContext'; import { useSettings } from '@shared/hooks/useSettings'; import { Csprng } from '../../class/rng'; import { ThemedText } from '../../components/ThemedText'; @@ -39,9 +39,9 @@ const SettingsPage: React.FC = () => { setAccountNumber(parseInt(value)); }; - const handleSettingChange = async (key: string, value: string | boolean) => { + const handleSettingChange = async (key: K, value: AppSettings[K]) => { try { - await updateSetting(key as any, value); + await updateSetting(key, value); } catch (error) { console.error('Error updating setting:', error); } @@ -66,18 +66,18 @@ const SettingsPage: React.FC = () => { {/* App Settings Section */}
- {Object.keys(SETTINGS_CONFIG).map((key) => { - const config = SETTINGS_CONFIG[key as keyof typeof SETTINGS_CONFIG]; - const currentValue = settings[key as keyof typeof SETTINGS_CONFIG]; + {(Object.keys(SETTINGS_CONFIG) as (keyof AppSettings)[]).map((key) => { + const config = SETTINGS_CONFIG[key]; + const currentValue = settings[key]; return (
{key.charAt(0).toUpperCase() + key.slice(1).replace(/([A-Z])/g, ' $1')}:
- handleSettingChange(key, e.target.value as AppSettings[typeof key])}> {config.options.map((option: string) => ( ))} diff --git a/ext/src/pages/Popup/SwapDetails.tsx b/ext/src/pages/Popup/SwapDetails.tsx index 5f74e69f1..4c84f8dce 100644 --- a/ext/src/pages/Popup/SwapDetails.tsx +++ b/ext/src/pages/Popup/SwapDetails.tsx @@ -4,7 +4,9 @@ import { ArrowLeftIcon, Copy, ExternalLink } from 'lucide-react'; import { NetworkContext } from '@shared/hooks/NetworkContext'; import { useExchangeRate } from '@shared/hooks/useExchangeRate'; +import { useSelectedFiat } from '@shared/hooks/useSelectedFiat'; import { getDecimalsByNetwork, getTickerByNetwork } from '@shared/models/network-getters'; +import { formatFiatDisplay } from '@shared/modules/fiat-utils'; import { capitalizeFirstLetter, formatBalance, formatFiatBalance } from '@shared/modules/string-utils'; import { CommonSwap } from '@shared/types/common-swap'; import { NETWORK_ARK, NETWORK_ARK_MUTINYNET, NETWORK_SPARK } from '@shared/types/networks'; @@ -21,10 +23,11 @@ const SwapDetails: React.FC = () => { const location = useLocation(); const { network } = useContext(NetworkContext); const { swap } = location.state as SwapDetailsParams; + const fiat = useSelectedFiat(); const ticker = getTickerByNetwork(network); const decimals = getDecimalsByNetwork(network); - const { exchangeRate } = useExchangeRate(network, 'USD'); + const { exchangeRate } = useExchangeRate(network); const [formattedDate, formattedDateWithTime] = useMemo(() => { if (!swap.timestamp) return ['—', '—']; @@ -48,8 +51,8 @@ const SwapDetails: React.FC = () => { const amountUsd = useMemo(() => { if (!exchangeRate) return ''; - return `${formatFiatBalance(Math.abs(swap.amount).toString(), decimals, exchangeRate)} USD`; - }, [swap.amount, decimals, exchangeRate]); + return formatFiatDisplay(formatFiatBalance(Math.abs(swap.amount).toString(), decimals, exchangeRate), fiat); + }, [swap.amount, decimals, exchangeRate, fiat]); const statusText = useMemo(() => { switch (swap.status) { diff --git a/ext/src/pages/Popup/components/Balance.tsx b/ext/src/pages/Popup/components/Balance.tsx index 9ab274f16..9916e7c93 100644 --- a/ext/src/pages/Popup/components/Balance.tsx +++ b/ext/src/pages/Popup/components/Balance.tsx @@ -7,6 +7,8 @@ import { useAccountBalance } from '@shared/hooks/useAccountBalance'; import { useAvailableNetworks } from '@shared/hooks/useAvailableNetworks'; import { useBalance } from '@shared/hooks/useBalance'; import { useExchangeRate } from '@shared/hooks/useExchangeRate'; +import { useSelectedFiat } from '@shared/hooks/useSelectedFiat'; +import { formatFiatDisplay } from '@shared/modules/fiat-utils'; import { useTokenBalance } from '@shared/hooks/useTokenBalance'; import { useTokenDiscovery } from '@shared/hooks/useTokenDiscovery'; import { fiatOnRamp } from '@shared/models/fiat-on-ramp'; @@ -48,7 +50,8 @@ const BalanceDefault = forwardRef<{ refresh: () => void }, BalanceProps>(({ netw mutate(); }, })); - const { exchangeRate } = useExchangeRate(network, 'USD'); + const fiat = useSelectedFiat(); + const { exchangeRate } = useExchangeRate(network); const availableNetworks = useAvailableNetworks(); const { accountBalance } = useAccountBalance(accountNumber, availableNetworks); const ticker = getTickerByNetwork(network); @@ -81,7 +84,7 @@ const BalanceDefault = forwardRef<{ refresh: () => void }, BalanceProps>(({ netw

{displayBalance} {ticker} -  {displaySubBalance !== '—' ? `$${displaySubBalance}` : ''} +  {displaySubBalance !== '—' ? formatFiatDisplay(displaySubBalance, fiat) : ''} {canBuyWithFiat ? (