// src/components/Toast.jsx import { useEffect } from "react"; /** * Toast — всплывающее сообщение об ошибке/успехе, автоматически скрывается. * * @param {string} message — текст сообщения * @param {"error"|"success"} [type="error"] * @param {function} onDismiss — вызывается по истечении таймера или по клику на крестик * @param {number} [duration=4000] — время жизни в мс */ export default function Toast({ message, type = "error", onDismiss, duration = 4000 }) { useEffect(() => { const timer = setTimeout(onDismiss, duration); return () => clearTimeout(timer); }, [onDismiss, duration]); if (!message) return null; return (