Fix inconsistent modal portal ID

main
Ashelyn Dawn 3 years ago
parent ca3e9050cc
commit e531547497

@ -5,15 +5,17 @@ import FocusTrap from 'focus-trap-react'
import styles from './modal.module.css' import styles from './modal.module.css'
const PORTAL_ID = '__sos_modal';
export default function Modal({visible, title, children, onDeactivate}){ export default function Modal({visible, title, children, onDeactivate}){
const [portalExists, setPortalExists] = useState(false); const [portalExists, setPortalExists] = useState(false);
useEffect(() => { useEffect(() => {
const portalExists = !!document.querySelector('#sos-modal'); const portalExists = !!document.querySelector(`#${PORTAL_ID}`);
if (!portalExists) { if (!portalExists) {
const portal = document.createElement('div'); const portal = document.createElement('div');
portal.id = '#sos-modal'; portal.id = PORTAL_ID;
document.body.appendChild(portal); document.body.appendChild(portal);
} }
@ -43,5 +45,5 @@ export default function Modal({visible, title, children, onDeactivate}){
</FocusTrap> </FocusTrap>
)} )}
</div> </div>
), window.document.body) ), document.querySelector(`#${PORTAL_ID}`))
} }

Loading…
Cancel
Save