import type { LucideIcon } from "lucide-react"; import { useAreaPreferences } from "@/contexts/UiPreferencesContext"; /** * Shared empty state. Every feature used to hand-roll its own, so some * surfaces explained what to do next and others showed a bare line of text. * * The `hint` and `action` only render at "guided" verbosity, which the Simple * preset turns on: someone who has just picked the simplest interface is the * one who most needs telling what to do next, while an experienced user on * Advanced does not want the extra paragraph on every empty panel. */ export function EmptyState({ icon: Icon, title, hint, action, className, }: { icon?: LucideIcon; title: string; /** Guidance shown only at "guided" verbosity. */ hint?: string; /** Primary call to action, also guided-only. */ action?: React.ReactNode; className?: string; }) { const { emptyStateVerbosity } = useAreaPreferences("chrome"); const guided = emptyStateVerbosity === "guided"; return (