'use client'; import { useEffect, useState } from 'react'; import { CheckCircle2, X, AlertCircle, Info } from 'lucide-react'; interface ToastProps { message: string; type?: 'success' | 'error' | 'info'; duration?: number; onClose: () => void; 'data-testid'?: string; } export function Toast({ message, type = 'success', duration = 3000, onClose, 'data-testid': dataTestId }: ToastProps) { const [isVisible, setIsVisible] = useState(true); useEffect(() => { const timer = setTimeout(() => { setIsVisible(false); setTimeout(onClose, 300); }, duration); return () => clearTimeout(timer); }, [duration, onClose]); const icons = { success: , error: , info: }; const bgColors = { success: 'bg-[var(--color-toast-success-bg)] border-[var(--color-toast-success-border)]', error: 'bg-[var(--color-toast-error-bg)] border-[var(--color-toast-error-border)]', info: 'bg-[var(--color-toast-info-bg)] border-[var(--color-toast-info-border)]' }; return (
{icons[type]}

{message}

); }