"use client"; import { useState } from "react"; interface Citation { index: number; document_id: string; chunk_id: string; document_uri: string; document_title: string | null; page_numbers: number[]; headings: string[] | null; content: string; } interface CitationBlockProps { citations: Citation[]; } function CitationItem({ citation }: { citation: Citation }) { const [expanded, setExpanded] = useState(false); const title = citation.document_title || citation.document_uri || "Unknown"; const pageInfo = citation.page_numbers.length > 0 ? `p. ${citation.page_numbers.join(", ")}` : null; return (
{expanded && (
{citation.headings && citation.headings.length > 0 && (
{citation.headings.join(" › ")}
)}
{citation.content}
)}
); } export default function CitationBlock({ citations }: CitationBlockProps) { if (!citations || citations.length === 0) { return null; } return ( <>
Sources ({citations.length})
{citations.map((citation) => ( ))}
); }