"use client"; import { motion } from "framer-motion"; import type { LucideIcon } from "lucide-react"; interface EmptyStateProps { icon: LucideIcon; title: string; subtitle?: string; ctaLabel?: string; onCta?: () => void; color?: string; } export default function EmptyState({ icon: Icon, title, subtitle, ctaLabel, onCta, color = "purple", }: EmptyStateProps) { const colorMap: Record = { purple: { glow: "bg-purple-600/15", icon: "text-purple-400/60", btn: "bg-purple-600 hover:bg-purple-500", btnHover: "" }, amber: { glow: "bg-amber-500/15", icon: "text-amber-400/60", btn: "bg-amber-600 hover:bg-amber-500", btnHover: "" }, rose: { glow: "bg-rose-500/15", icon: "text-rose-400/60", btn: "bg-rose-600 hover:bg-rose-500", btnHover: "" }, sky: { glow: "bg-sky-500/15", icon: "text-sky-400/60", btn: "bg-sky-600 hover:bg-sky-500", btnHover: "" }, }; const c = colorMap[color] ?? colorMap.purple; return (

{title}

{subtitle && (

{subtitle}

)} {ctaLabel && onCta && ( {ctaLabel} )}
); }