import { useState } from "react"; import { CopyToClipboard } from "react-copy-to-clipboard"; import ContentCopyIcon from "@mui/icons-material/ContentCopy"; import { green } from "@mui/material/colors"; import { RetrievalResult } from "../../contexts/AppContext"; type ChatReferenceProps = { retrievalResults?: RetrievalResult[]; }; export default function ChatReference({ retrievalResults, }: ChatReferenceProps) { const [copied, setCopied] = useState(false); const textToCopy = retrievalResults?.map(result => `${result.title}\n${result.link || ''}\n${result.description || ''}` ).join('\n\n') || ''; return (
{retrievalResults?.map((retrievalResult, index) => (
{retrievalResult.link ? ( {retrievalResult.title} ) : ( retrievalResult.title )}

{retrievalResult.date || 'No date'} | {retrievalResult.id || 'No chunk id'} | {retrievalResult.score || 'No score'}

{retrievalResult.description || ''}

))}
{ setCopied(true); setTimeout(() => setCopied(false), 3000); }} >
{copied ? ( Copied! ) : ( Copy )}
); }