Spaces:
Sleeping
Sleeping
| import type { ReactNode } from 'react'; | |
| import { cn } from '../utils/cn'; | |
| interface Props { | |
| icon?: ReactNode; | |
| title: string; | |
| description?: string; | |
| action?: ReactNode; | |
| className?: string; | |
| } | |
| export function EmptyState({ icon, title, description, action, className }: Props) { | |
| return ( | |
| <div | |
| className={cn( | |
| 'flex flex-col items-center justify-center gap-3 rounded-2xl border border-dashed border-slate-300 bg-slate-50 p-8 text-center', | |
| className, | |
| )} | |
| > | |
| {icon && <div className="text-slate-400">{icon}</div>} | |
| <h3 className="text-base font-semibold text-slate-900">{title}</h3> | |
| {description && <p className="max-w-md text-sm text-slate-600">{description}</p>} | |
| {action} | |
| </div> | |
| ); | |
| } | |