import React, { useEffect } from 'react'; import { X, CheckCircle, AlertCircle, Info } from 'lucide-react'; export type SnackbarType = 'success' | 'error' | 'info'; interface SnackbarProps { message: string; type?: SnackbarType; isOpen: boolean; onClose: () => void; duration?: number; } const Snackbar: React.FC = ({ message, type = 'info', isOpen, onClose, duration = 3000 }) => { useEffect(() => { if (isOpen && duration > 0) { const timer = setTimeout(() => { onClose(); }, duration); return () => clearTimeout(timer); } }, [isOpen, duration, onClose]); if (!isOpen) return null; const bgColors = { success: 'bg-primary-container text-on-primary-container', error: 'bg-error-container text-on-error-container', info: 'bg-secondary-container text-on-secondary-container' }; const icons = { success: , error: , info: }; return (
{icons[type]}

{message}

); }; export default Snackbar;