import React, { useEffect, useState } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; interface ToastProps { message: string; type: 'success' | 'error' | 'info'; onClose: () => void; } const Toast: React.FC = ({ message, type, onClose }) => { const [isVisible, setIsVisible] = useState(true); useEffect(() => { const timer = setTimeout(() => { setIsVisible(false); onClose(); }, 3000); // Toast desaparece después de 3 segundos return () => clearTimeout(timer); }, [onClose]); const bgColor = type === 'success' ? 'bg-green-500' : type === 'error' ? 'bg-red-500' : 'bg-blue-500'; return ( {isVisible && (
{type === 'success' ? 'check_circle' : type === 'error' ? 'error' : 'info'} {message}
)}
); }; export default Toast;