"use client"; import React from "react"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { ExternalLink } from "lucide-react"; export const CitationDisplay: React.FC<{ index: number; node: any }> = ({ index, node, }) => { const truncateText = (text: string, maxLength: number = 200) => { if (text.length <= maxLength) return text; return text.substring(0, maxLength) + "..."; }; const handleUrlClick = (e: React.MouseEvent, url: string) => { e.preventDefault(); e.stopPropagation(); window.open(url, "_blank", "noopener,noreferrer"); }; return ( {index + 1} {/* External Link Button - Top Right */} {node?.url && ( )} {/* Heading */}
{node?.metadata?.group_name || "Source"}
{/* Source */}
{node?.metadata?.title || "Untitled"}
{/* Body */}
{truncateText(node?.text || "No content available")}
); };