import { useEffect, useState } from 'react' import { toastCallbacks, Toast } from '../utils/toast' export function ToastContainer() { const [toasts, setToasts] = useState([]) useEffect(() => { const callback = (toast: Toast) => { setToasts(prev => [...prev, toast]) setTimeout(() => { setToasts(prev => prev.filter(t => t.id !== toast.id)) }, 5000) } toastCallbacks.add(callback) return () => { toastCallbacks.delete(callback) } }, []) const removeToast = (id: number) => { setToasts(prev => prev.filter(t => t.id !== id)) } return (
{toasts.map(toast => (
{toast.type === 'success' && } {toast.type === 'error' && } {toast.type === 'warning' && } {toast.type === 'info' && } {toast.message}
))}
) }