import { useContext } from 'react'; import { CheckCircle2, XCircle, Info, AlertTriangle, X } from 'lucide-react'; import { ToastContext, Toast, ToastType } from '@/hooks/useToast'; const ICONS: Record = { success: , error: , info: , warning: , }; const BG: Record = { success: 'border-emerald-100 bg-white', error: 'border-red-100 bg-white', info: 'border-blue-100 bg-white', warning: 'border-amber-100 bg-white', }; function ToastItem({ toast, onRemove }: { toast: Toast; onRemove: () => void }) { return (
{ICONS[toast.type]} {toast.message}
); } export function Toaster() { const { toasts, removeToast } = useContext(ToastContext); if (toasts.length === 0) return null; return (
{toasts.map(t => (
removeToast(t.id)} />
))}
); }