"use client"; import { ExternalLink } from "lucide-react"; import type React from "react"; import { Button } from "@/components/ui/button"; import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; 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")}
); };