diff --git a/src/components/Global/DaimoPayButton/index.tsx b/src/components/Global/DaimoPayButton/index.tsx index 78102ee98..aeb234e2d 100644 --- a/src/components/Global/DaimoPayButton/index.tsx +++ b/src/components/Global/DaimoPayButton/index.tsx @@ -94,7 +94,7 @@ export const DaimoPayButton = ({ // Reset payment amount for Daimo await resetPayment({ - toUnits: amount.replace(/,/g, ''), + toUnits: formattedAmount.toString(), }) return true diff --git a/src/components/TransactionDetails/TransactionDetailsReceipt.tsx b/src/components/TransactionDetails/TransactionDetailsReceipt.tsx index 659cf7e53..3bfb0be9c 100644 --- a/src/components/TransactionDetails/TransactionDetailsReceipt.tsx +++ b/src/components/TransactionDetails/TransactionDetailsReceipt.tsx @@ -8,7 +8,7 @@ import { useUserStore } from '@/redux/hooks' import { chargesApi } from '@/services/charges' import { sendLinksApi } from '@/services/sendLinks' import { formatAmount, formatDate, getInitialsFromName } from '@/utils' -import { formatIban, printableAddress, shortenAddress, shortenAddressLong } from '@/utils/general.utils' +import { formatIban, printableAddress, shortenAddress, shortenAddressLong, slugify } from '@/utils/general.utils' import { getDisplayCurrencySymbol } from '@/utils/currency' import { cancelOnramp } from '@/app/actions/onramp' import { captureException } from '@sentry/nextjs' @@ -55,10 +55,7 @@ export const TransactionDetailsReceipt = ({ const { fetchBalance } = useWallet() const [showBankDetails, setShowBankDetails] = useState(false) const [showCancelLinkModal, setShowCancelLinkModal] = useState(isModalOpen) - const [tokenData, setTokenData] = useState<{ symbol: string; icon: string }>({ - symbol: '', - icon: '', - }) + const [tokenData, setTokenData] = useState<{ symbol: string; icon: string } | null>(null) const [isTokenDataLoading, setIsTokenDataLoading] = useState(true) useEffect(() => { @@ -204,8 +201,9 @@ export const TransactionDetailsReceipt = ({ } try { + const chainName = slugify(transaction.tokenDisplayDetails?.chainName ?? '') const res = await fetch( - `https://api.coingecko.com/api/v3/coins/${transaction.tokenDisplayDetails?.chainName}/contract/${transaction.tokenAddress}` + `https://api.coingecko.com/api/v3/coins/${chainName}/contract/${transaction.tokenAddress}` ) const tokenDetails = await res.json() setTokenData({ @@ -214,10 +212,7 @@ export const TransactionDetailsReceipt = ({ }) } catch (e) { console.error(e) - setTokenData({ - symbol: '', - icon: '', - }) + setTokenData(null) } finally { setIsTokenDataLoading(false) } @@ -330,45 +325,52 @@ export const TransactionDetailsReceipt = ({ /> )} - {rowVisibilityConfig.tokenAndNetwork && transaction.tokenDisplayDetails && ( - - ) : ( -
-
- {/* Main token icon */} - - {/* Smaller chain icon, absolutely positioned */} - {transaction.tokenDisplayDetails.chainIconUrl && ( -
- -
- )} + {rowVisibilityConfig.tokenAndNetwork && + transaction.tokenDisplayDetails && + tokenData?.icon && + tokenData?.symbol && ( + + ) : ( +
+
+ {/* Main token icon */} + + {/* Smaller chain icon, absolutely positioned */} + {transaction.tokenDisplayDetails.chainIconUrl && ( +
+ +
+ )} +
+ + {tokenData.symbol.toUpperCase()} on{' '} + {transaction.tokenDisplayDetails.chainName} +
- - {tokenData.symbol.toUpperCase()} on{' '} - {transaction.tokenDisplayDetails.chainName} - -
- ) - } - hideBottomBorder={shouldHideBorder('tokenAndNetwork')} - /> - )} + ) + } + hideBottomBorder={shouldHideBorder('tokenAndNetwork')} + /> + )} {rowVisibilityConfig.txId && transaction.txHash && (