import React from "react"; interface BlogOGImageTemplateProps { title: string; description?: string; label?: string; accentColor?: string; keyword?: string; backgroundImageSrc?: string; } export function BlogOGImageTemplate({ title, description, label, accentColor, keyword, backgroundImageSrc, }: BlogOGImageTemplateProps) { const accent = accentColor || "#3b82f6"; const white = "#ffffff"; const slateLight = "#cbd5e1"; // slate-300 for readable descriptions on dark bg const containerStyle: React.CSSProperties = { height: "100%", width: "100%", display: "flex", flexDirection: "column", alignItems: "flex-start", justifyContent: "center", backgroundColor: "#0f172a", // base dark slate padding: "80px", position: "relative", fontFamily: "Inter", }; return (
{/* Primary Thumbnail Background Image */} {backgroundImageSrc && ( )} {/* Dark overlay to make text highly legible */}
{/* Subtle Grid Pattern overlay */}
{/* Accent geometric block (right side) */}
{/* Label / Category */} {label && (
{label}
)} {/* Title */}
40 ? "56px" : "72px", fontWeight: 700, color: white, lineHeight: "1.1", marginBottom: "28px", display: "flex", letterSpacing: "-0.03em", }} > {title}
{/* Description */} {description && (
{description.length > 120 ? description.substring(0, 117) + "..." : description}
)}
{/* Brand Footer */}
mintel.me
{/* Keyword badge (bottom-right) */} {keyword && (
{keyword}
)} {/* Accent Strip */}
); }