editor-left-menu.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import DownloadMenu from './download-menu'
  2. import ActionsMenu from './actions-menu'
  3. import HelpMenu from './help-menu'
  4. import { useLayoutContext } from '../../../shared/context/layout-context'
  5. import SyncMenu from './sync-menu'
  6. import SettingsMenu from './settings-menu'
  7. import LeftMenuMask from './left-menu-mask'
  8. import AccessibleModal from '../../../shared/components/accessible-modal'
  9. import { Modal } from 'react-bootstrap'
  10. import classNames from 'classnames'
  11. export default function EditorLeftMenu() {
  12. const { leftMenuShown, setLeftMenuShown } = useLayoutContext()
  13. const closeModal = () => {
  14. setLeftMenuShown(false)
  15. }
  16. return (
  17. <>
  18. <AccessibleModal
  19. backdropClassName="left-menu-modal-backdrop"
  20. keyboard
  21. onHide={closeModal}
  22. id="left-menu-modal"
  23. show={leftMenuShown}
  24. >
  25. <Modal.Body
  26. className={classNames('full-size', { shown: leftMenuShown })}
  27. id="left-menu"
  28. >
  29. <DownloadMenu />
  30. <ActionsMenu />
  31. <SyncMenu />
  32. <SettingsMenu />
  33. <HelpMenu />
  34. </Modal.Body>
  35. </AccessibleModal>
  36. {leftMenuShown && <LeftMenuMask />}
  37. </>
  38. )
  39. }