import { useEffect } from "react"; import { createPortal } from "react-dom"; import { useUiStore } from "../store/uiStore"; export function ToastViewport() { const message = useUiStore((s) => s.toastMessage); const clearToast = useUiStore((s) => s.clearToast); useEffect(() => { if (!message) { return; } const timer = window.setTimeout(() => clearToast(), 2200); return () => window.clearTimeout(timer); }, [message, clearToast]); if (!message) { return null; } return createPortal(
{message}
, document.body ); }