'use client'; import { useCallback, useEffect, useState } from 'react'; import EventEmitter from 'events'; import clsx from 'clsx'; const toaster = new EventEmitter(); export const Toaster = () => { const [showToaster, setShowToaster] = useState(false); const [toasterText, setToasterText] = useState(''); const [toasterType, setToasterType] = useState<'success' | 'warning' | ''>( '' ); useEffect(() => { toaster.on( 'show', (params: { text: string; type?: 'success' | 'warning' }) => { const { text, type } = params; setToasterText(text); setToasterType(type || 'success'); setShowToaster(true); setTimeout(() => { setShowToaster(false); }, 4200); } ); return () => { toaster.removeAllListeners(); }; }, []); if (!showToaster) { return <>>; } return (