import { useLinkPreview } from '../lib/useLinkPreview'; interface Props { url: string; } // Renders a compact OpenGraph preview card under a message bubble. Fetches // lazily through the edge function; silent when the URL returned no meta. export function LinkPreviewCard({ url }: Props) { const preview = useLinkPreview(url); if (!preview || !preview.ok) return null; if (!preview.title && !preview.description && !preview.imageUrl) return null; return ( {preview.imageUrl && ( { (e.currentTarget as HTMLImageElement).style.display = 'none'; }} /> )}
{preview.siteName && (

{preview.siteName}

)} {preview.title && (

{preview.title}

)} {preview.description && (

{preview.description}

)}
); }