import { useState, useCallback } from 'react'; export interface Toast { id: number; message: string; type: 'success' | 'error' | 'warning' | 'info'; } let nextId = 0; export function useToast() { const [toasts, setToasts] = useState([]); const showToast = useCallback((message: string, type: Toast['type'] = 'info') => { const id = nextId++; setToasts((prev) => [...prev, { id, message, type }]); setTimeout(() => { setToasts((prev) => prev.filter((t) => t.id !== id)); }, 5000); }, []); const removeToast = useCallback((id: number) => { setToasts((prev) => prev.filter((t) => t.id !== id)); }, []); return { toasts, showToast, removeToast }; }