11import React , { useRef , useState , useCallback } from 'react' ;
22import { motion } from 'framer-motion' ;
3- import { FiTerminal , FiClock , FiPlay , FiCheckCircle , FiXCircle , FiCopy , FiCheck } from 'react-icons/fi' ;
3+ import {
4+ FiTerminal ,
5+ FiClock ,
6+ FiPlay ,
7+ FiCheckCircle ,
8+ FiXCircle ,
9+ FiCopy ,
10+ FiCheck ,
11+ } from 'react-icons/fi' ;
412import { JSONViewer , JSONViewerRef } from '@tarko/ui' ;
513import { RawToolMapping } from '@/common/state/atoms/rawEvents' ;
614import { formatTimestamp } from '@/common/utils/formatters' ;
@@ -48,7 +56,7 @@ const CopyButton: React.FC<{
4856
4957export const RawModeRenderer : React . FC < RawModeRendererProps > = ( { toolMapping } ) => {
5058 const { toolCall, toolResult } = toolMapping ;
51-
59+
5260 // Refs for JSONViewer components
5361 const parametersRef = useRef < JSONViewerRef > ( null ) ;
5462 const responseRef = useRef < JSONViewerRef > ( null ) ;
@@ -71,7 +79,9 @@ export const RawModeRenderer: React.FC<RawModeRendererProps> = ({ toolMapping })
7179 < div className = "flex items-center gap-2 text-xs text-slate-600 dark:text-slate-400 mt-0.5" >
7280 < div className = "flex items-center gap-1.5" >
7381 < FiClock size = { 11 } />
74- < span className = "font-medium" > { formatTimestamp ( toolCall . timestamp , true ) } </ span >
82+ < span className = "font-medium" >
83+ { toolCall . timestamp ? formatTimestamp ( toolCall . timestamp , true ) : 'Unknown time' }
84+ </ span >
7585 </ div >
7686 < div className = "w-1 h-1 rounded-full bg-slate-400 dark:bg-slate-500" > </ div >
7787 < span className = "font-mono text-xs px-2 py-0.5 bg-slate-200/60 dark:bg-slate-700/60 rounded-md" >
@@ -98,7 +108,11 @@ export const RawModeRenderer: React.FC<RawModeRendererProps> = ({ toolMapping })
98108 < CopyButton jsonRef = { parametersRef } title = "Copy parameters JSON" />
99109 </ div >
100110 < div className = "bg-white/60 dark:bg-slate-800/60 rounded-lg p-3 border border-slate-200/40 dark:border-slate-700/40" >
101- < JSONViewer ref = { parametersRef } data = { toolCall . arguments } emptyMessage = "No parameters provided" />
111+ < JSONViewer
112+ ref = { parametersRef }
113+ data = { toolCall . arguments }
114+ emptyMessage = "No parameters provided"
115+ />
102116 </ div >
103117 </ div >
104118 ) }
@@ -147,7 +161,9 @@ export const RawModeRenderer: React.FC<RawModeRendererProps> = ({ toolMapping })
147161 < div className = "flex items-center gap-2 text-xs text-slate-600 dark:text-slate-400 mt-0.5" >
148162 < div className = "flex items-center gap-1.5" >
149163 < FiClock size = { 11 } />
150- < span className = "font-medium" > { formatTimestamp ( toolResult . timestamp , true ) } </ span >
164+ < span className = "font-medium" >
165+ { toolResult . timestamp ? formatTimestamp ( toolResult . timestamp , true ) : 'Unknown time' }
166+ </ span >
151167 </ div >
152168 { toolResult . elapsedMs && (
153169 < >
@@ -183,7 +199,11 @@ export const RawModeRenderer: React.FC<RawModeRendererProps> = ({ toolMapping })
183199 < CopyButton jsonRef = { responseRef } title = "Copy response JSON" />
184200 </ div >
185201 < div className = "bg-white/60 dark:bg-slate-800/60 rounded-lg p-3 border border-slate-200/40 dark:border-slate-700/40" >
186- < JSONViewer ref = { responseRef } data = { toolResult . content } emptyMessage = "No response data" />
202+ < JSONViewer
203+ ref = { responseRef }
204+ data = { toolResult . content }
205+ emptyMessage = "No response data"
206+ />
187207 </ div >
188208 </ div >
189209 { toolResult . _extra && (
@@ -193,7 +213,11 @@ export const RawModeRenderer: React.FC<RawModeRendererProps> = ({ toolMapping })
193213 < CopyButton jsonRef = { metadataRef } title = "Copy metadata JSON" />
194214 </ div >
195215 < div className = "bg-white/60 dark:bg-slate-800/60 rounded-lg p-3 border border-slate-200/40 dark:border-slate-700/40" >
196- < JSONViewer ref = { metadataRef } data = { toolResult . _extra } emptyMessage = "No metadata" />
216+ < JSONViewer
217+ ref = { metadataRef }
218+ data = { toolResult . _extra }
219+ emptyMessage = "No metadata"
220+ />
197221 </ div >
198222 </ div >
199223 ) }
0 commit comments