import type { ReactNode } from "react"; interface EmptyStateProps { icon?: ReactNode; title: string; description?: string; action?: ReactNode; } /** Consistent "nothing here yet" panel — replaces the ad-hoc `

` scattered across pages. */ export function EmptyState({ icon, title, description, action }: EmptyStateProps) { return (

{icon &&
{icon}
}

{title}

{description &&

{description}

} {action &&
{action}
}
); } /** Inline error banner — for API/Firestore errors surfaced within a page section. */ export function ErrorBanner({ message }: { message: string }) { return (

{message}

); }