diff options
Diffstat (limited to 'apps/web/components/new/document-cards/website-preview.tsx')
| -rw-r--r-- | apps/web/components/new/document-cards/website-preview.tsx | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/apps/web/components/new/document-cards/website-preview.tsx b/apps/web/components/new/document-cards/website-preview.tsx index ab3c5ad3..21ae9de2 100644 --- a/apps/web/components/new/document-cards/website-preview.tsx +++ b/apps/web/components/new/document-cards/website-preview.tsx @@ -3,50 +3,41 @@ import { useState } from "react" import type { DocumentsWithMemoriesResponseSchema } from "@repo/validation/api" import type { z } from "zod" -import { dmSansClassName } from "@/lib/fonts" -import { cn } from "@lib/utils" type DocumentsResponse = z.infer<typeof DocumentsWithMemoriesResponseSchema> 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 ( <div className="bg-[#0B1017] rounded-[18px] overflow-hidden"> - {ogImage && !imageError ? ( + {displayOgImage && !imageError ? ( <div className="relative w-full aspect-video bg-gray-100 overflow-hidden"> <img - src={ogImage} + src={displayOgImage} alt={document.title || "Website preview"} className="w-full h-full object-cover" onError={() => setImageError(true)} loading="lazy" /> </div> - ) : ( - <div className="p-3 gap-2"> - <p - className={cn( - dmSansClassName(), - "text-[12px] font-semibold text-[#E5E5E5] line-clamp-2 mb-1", - )} - > - {document.title || "Untitled Document"} - </p> - {document.content && ( - <p className="text-[10px] text-[#737373] line-clamp-3"> - {document.content} - </p> - )} - </div> - )} + ) : null} </div> ) } |