import React from 'react'; import _ from 'lodash'; // eslint-disable-next-line import/no-unresolved import { slide as Menu } from 'react-burger-menu'; import LogoIcon from '@assets/images/rocket.svg'; import { Link } from 'react-router-dom'; import { DarkModeToggle } from '@/_components/DarkModeToggle'; import Header from './Header'; export const ViewerNavigation = ({ isMobileDevice, pages, currentPageId, switchPage, darkMode }) => { if (isMobileDevice) { return null; } return (
{pages.map( ([id, page]) => !page.hidden && (
switchPage(id)} className={`viewer-page-handler cursor-pointer ${darkMode && 'dark'}`} >
{_.truncate(page.name, { length: 18 })}
) )}
); }; const MobileNavigationMenu = ({ pages, switchPage, currentPageId, darkMode, changeDarkMode }) => { const [hamburgerMenuOpen, setHamburgerMenuOpen] = React.useState(false); const handlepageSwitch = (pageId) => { setHamburgerMenuOpen(false); switchPage(pageId); }; var styles = { bmBurgerButton: { position: 'fixed', width: '21px', height: '16px', right: 10, top: 15, }, bmBurgerBars: { background: darkMode ? '#4C5155' : 'rgb(77, 114, 250)', }, bmCrossButton: { display: 'none', }, bmCross: { background: '#bdc3c7', }, bmMenuWrap: { height: '100%', width: '100%', top: 0, }, bmMenu: { background: darkMode ? '#202B37' : '#fff', padding: '0', }, bmMorphShape: { fill: '#373a47', }, bmItemList: { display: 'flex', flexDirection: 'column', alignItems: 'center', }, bmItem: { display: 'inline-block', }, bmOverlay: { background: 'rgba(0, 0, 0, 0.3)', }, }; return ( <> setHamburgerMenuOpen(state.isOpen)} right >
setHamburgerMenuOpen(false)} className="col-1 mx-1">
Menu
{pages.map( ([id, page]) => !page.hidden && (
handlepageSwitch(id)} className={`viewer-page-handler mb-2 cursor-pointer ${darkMode && 'dark'}`} >
{_.truncate(page.name, { length: 22 })}
) )}
); }; const ViewerHeader = ({ showHeader, appName, changeDarkMode, darkMode, pages, currentPageId, switchPage, currentLayout, }) => { if (!showHeader && currentLayout !== 'mobile') { return null; } return (
{showHeader && ( <>

{appName && {appName}} )} {currentLayout !== 'mobile' && } {currentLayout === 'mobile' && ( )}
); }; const Footer = ({ darkMode, switchDarkMode }) => { return (
); }; ViewerNavigation.BurgerMenu = MobileNavigationMenu; ViewerNavigation.Header = ViewerHeader; ViewerNavigation.Footer = Footer;