@@ -4,6 +4,7 @@ import { useStellarWallet } from '@/contexts/StellarWalletContext';
44import { useTheme } from '@/contexts/ThemeContext' ;
55import { useUserPreferences } from '@/contexts/UserPreferencesContext' ;
66import { useMasking } from '@/hooks/useMasking' ;
7+ import { useCurrencyConversion } from '@/hooks/useCurrencyConversion' ;
78import { ChatMessage } from '@/types' ;
89import { AlertTriangle , Bot , Clock , Coins , Copy , Check , Link , RotateCcw , User , Loader2 , RefreshCcw , XCircle } from 'lucide-react' ;
910import React , { useState , useCallback } from 'react' ;
@@ -40,6 +41,16 @@ export default function Message({ message, onActionClick, onRetry, shouldAnimate
4041 const isFailed = message . metadata ?. status === 'failed' ;
4142 const [ receiptCopied , setReceiptCopied ] = useState ( false ) ;
4243
44+ // Currency conversion hook for transaction amounts
45+ const amountForConversion = message . metadata ?. transactionData ?. amountIn
46+ ? parseFloat ( String ( message . metadata . transactionData . amountIn ) )
47+ : undefined ;
48+ const tokenForConversion = message . metadata ?. transactionData ?. tokenIn || 'XLM' ;
49+ const { displayText : conversionDisplayText } = useCurrencyConversion (
50+ amountForConversion ,
51+ tokenForConversion ,
52+ ) ;
53+
4354 const handleCopyReceiptId = useCallback ( ( receiptId : string ) => {
4455 navigator . clipboard ?. writeText ( receiptId ) . then ( ( ) => {
4556 setReceiptCopied ( true ) ;
@@ -325,7 +336,7 @@ export default function Message({ message, onActionClick, onRetry, shouldAnimate
325336 < div className = "flex justify-between" >
326337 < span > Amount:</ span >
327338 < span className = "theme-text-primary font-medium" >
328- { message . metadata . transactionData . amountIn }
339+ { conversionDisplayText || message . metadata . transactionData . amountIn }
329340 </ span >
330341 </ div >
331342 ) }
0 commit comments