import { useState, useEffect } from 'react'; import ReactDOM from 'react-dom' import {Icon} from '@rmwc/icon' import FocusTrap from 'focus-trap-react' import styles from './modal.module.css' const PORTAL_ID = '__sos_modal'; export default function Modal({visible, title, children, onDeactivate}){ const [portalExists, setPortalExists] = useState(false); useEffect(() => { const portalExists = !!document.querySelector(`#${PORTAL_ID}`); if (!portalExists) { const portal = document.createElement('div'); portal.id = PORTAL_ID; document.body.appendChild(portal); } setPortalExists(true); }, []); if(!portalExists) return null return ReactDOM.createPortal((