import { useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; interface PortalProps { children: React.ReactNode; } export function Portal({ children }: PortalProps) { const [mounted, setMounted] = useState(false); useEffect(() => { setMounted(true); return () => setMounted(false); }, []); if (!mounted) return null; return createPortal( children as any, document.body ); }