import { Button, Paper, Stack, Text, ThemeIcon } from '@mantine/core'; import { IconInbox, type Icon } from '@tabler/icons-react'; import type { ReactNode } from 'react'; interface EmptyStateProps { title: string; description?: string; icon?: Icon; action?: { label: string; onClick: () => void; icon?: ReactNode }; } /** * The "nothing here" state. * * Distinct from an error: an empty queue is a normal, often good, outcome. It * says so plainly and offers the next useful action rather than leaving a bare * grey panel that reads as a failure. */ export function EmptyState({ title, description, icon: StateIcon = IconInbox, action, }: EmptyStateProps) { return ( {title} {description && ( {description} )} {action && ( )} ); }