import { useContext, useState, useEffect, useCallback, useMemo } from 'react' import { ModalContext } from 'shared/context/modal-context.mjs' import { ModalWrapper } from 'shared/components/wrappers/modal.mjs' import { CloseIcon } from 'shared/components/icons.mjs' import { MobileMenubarContext } from 'shared/context/mobile-menubar-context.mjs' import { shownHeaderSelector } from 'shared/components/wrappers/header.mjs' export const MobileMenubar = () => { const { setModal, clearModal, modalContent } = useContext(ModalContext) const { menus } = useContext(MobileMenubarContext) const [selectedModal, setSelectedModal] = useState(false) const selectedMenu = menus[selectedModal] const Modal = useCallback(() => { const closeModal = () => { setSelectedModal(false) clearModal() } return (
{selectedMenu.MenuContent}
) }, [selectedMenu, clearModal]) useEffect(() => { if (!selectedModal) return setModal(Modal) }, [selectedModal, Modal, setModal]) useEffect(() => { if (modalContent === null) { setSelectedModal(false) } }, [modalContent, setSelectedModal]) return (
{Object.keys(menus) .sort((a, b) => menus[a].order - menus[b].order) .map((m) => { const Icon = menus[m].Icon return ( ) })}
) }