import { useMemo } from 'react' import { FileText } from 'lucide-react' interface SourcePanelProps { sourceText: string sourceFormat: string highlightExcerpt: string | null } export function SourcePanel({ sourceText, sourceFormat, highlightExcerpt }: SourcePanelProps) { const renderedText = useMemo(() => { if (!highlightExcerpt || !sourceText.includes(highlightExcerpt)) { return {sourceText} } const idx = sourceText.indexOf(highlightExcerpt) return ( <> {sourceText.slice(0, idx)} {highlightExcerpt} {sourceText.slice(idx + highlightExcerpt.length)} ) }, [sourceText, highlightExcerpt]) return (
Source Document {sourceFormat}
          {renderedText}
        
) }