import type { LucideIcon } from "lucide-react"; import { cn } from "@/lib/utils"; /** * Shared empty-state panel: a brand-tinted icon tile, a title, muted * description, and an optional call-to-action. Used across the dashboard, * episodes, series, and API-keys surfaces. */ export function EmptyState({ icon: Icon, title, description, action, className, bordered = true, }: { icon: LucideIcon; title: string; description?: string; action?: React.ReactNode; className?: string; /** Wrap in a dashed border panel (default). Set false when already inside a Card. */ bordered?: boolean; }) { return (

{title}

{description && (

{description}

)}
{action &&
{action}
}
); }