"use client"; import { motion } from "framer-motion"; import { cn } from "@/lib/utils"; /** * Album/artist header. The artwork itself, blown up and blurred, is the * panel's own backdrop — cheaper and more faithful than trying to synthesise * a gradient from the extracted accent, and it reads as the record rather * than as a themed box. */ export function Hero({ kind, title, art, round, by, facts, actions, }: { kind: string; title: string; art: string | null; round?: boolean; by?: React.ReactNode; facts?: (string | null | undefined)[]; actions?: React.ReactNode; }) { return ( {art && ( /* eslint-disable-next-line @next/next/no-img-element */ )}
{art && ( )}
{kind}

{title}

{by &&
{by}
} {facts && (
{facts.filter(Boolean).map((f, i) => ( {f} ))}
)} {actions && (
{actions}
)}
); }