"use client" import { useState } from "react" import type { DocumentsWithMemoriesResponseSchema } from "@repo/validation/api" import type { z } from "zod" type DocumentsResponse = z.infer type DocumentWithMemories = DocumentsResponse["documents"][0] type OgData = { title?: string image?: string } export function WebsitePreview({ document, ogData, }: { document: DocumentWithMemories ogData?: OgData | null }) { const [imageError, setImageError] = useState(false) const ogImage = (document as DocumentWithMemories & { ogImage?: string }) .ogImage const displayOgImage = ogImage || ogData?.image return (
{displayOgImage && !imageError ? (
{document.title setImageError(true)} loading="lazy" />
) : null}
) }