import React, { useEffect } from 'react';
function Toast({ message, type = 'success', duration = 3000, onClose }) {
useEffect(() => {
const timer = setTimeout(() => {
onClose();
}, duration);
return () => clearTimeout(timer);
}, [duration, onClose]);
const getIcon = () => {
switch (type) {
case 'success':
return '✅';
case 'error':
return '❌';
case 'warning':
return '⚠️';
case 'info':
return 'ℹ️';
default:
return '✅';
}
};
const getClassName = () => {
return `toast toast-${type} toast-enter`;
};
return (
<div className={getClassName()}>
<span className="toast-icon">{getIcon()}</span>
<span className="toast-message">{message}</span>
<button className="toast-close" onClick={onClose}>×</button>
</div>
);
}
export default Toast;