import React, { useEffect, useState } from 'react'; import { CheckCircle2 } from 'lucide-react'; interface ToastProps { message: string; isVisible: boolean; onClose: () => void; } export const Toast: React.FC = ({ message, isVisible, onClose }) => { const [show, setShow] = useState(false); useEffect(() => { if (isVisible) { setShow(true); const timer = setTimeout(() => { setShow(false); setTimeout(onClose, 300); // Wait for animation }, 3000); return () => clearTimeout(timer); } else { setShow(false); } }, [isVisible, onClose]); if (!isVisible && !show) return null; return (
{message}
); };