Files
sam-react-prod/src/components/organisms/EmptyState.tsx

38 lines
936 B
TypeScript
Raw Normal View History

"use client";
import { LucideIcon } from "lucide-react";
import { Button } from "@/components/ui/button";
interface EmptyStateProps {
icon?: LucideIcon;
title: string;
description?: string;
action?: {
label: string;
onClick: () => void;
};
}
export function EmptyState({ icon: Icon, title, description, action }: EmptyStateProps) {
return (
<div className="flex flex-col items-center justify-center py-12 text-center">
{Icon && (
<div className="mb-4 p-4 bg-muted rounded-full">
<Icon className="w-8 h-8 text-muted-foreground" />
</div>
)}
<h3 className="text-lg font-semibold mb-2">{title}</h3>
{description && (
<p className="text-sm text-muted-foreground mb-6 max-w-md">
{description}
</p>
)}
{action && (
<Button onClick={action.onClick}>
{action.label}
</Button>
)}
</div>
);
}