import { Link } from 'react-router-dom'; import { useOpenGraph } from '@utils/hooks/useOpenGraph'; function isImage(url: string) { return /^https?:\/\/.+\.(jpg|jpeg|png|webp|avif)$/.test(url); } export function LinkPreview({ url }: { url: string }) { const domain = new URL(url); const { status, data } = useOpenGraph(url); if (status === 'pending') { return (
{domain.hostname}
); } return ( {isImage(data.image) ? ( {url} ) : null}
{data.title && (
{data.title}
)} {data.description ? (

{data.description}

) : null}
{domain.hostname}
); }