hasari-api / packages /ui /src /components /EmptyState.tsx
erdoganpeker's picture
v0.3.0 — multimodal vehicle damage MVP
e327f0d
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>
);
}