import type { ReactNode } from "react"; import type { LucideIcon } from "lucide-react"; import { cn } from "@/lib/utils"; /** * One empty state for the whole app. `page` is the first-run screen (nothing * imported yet); `inline` sits inside a card when a filter or a section comes * up empty. */ export function EmptyState({ icon: Icon, title, description, action, variant = "page", className, }: { icon?: LucideIcon; title: string; description?: ReactNode; action?: ReactNode; variant?: "page" | "inline"; className?: string; }) { const page = variant === "page"; return (
{Icon && (page ? (
) : (
))}

{title}

{description &&

{description}

}
{action}
); }