/********************************************************************************
* Copyright (c) 2020 TypeFox and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
********************************************************************************/
import { ComponentType, FunctionComponent, useContext, useEffect, useState } from 'react';
import { Menu, IconButton, useTheme } from '@mui/material';
import useMediaQuery from '@mui/material/useMediaQuery';
import MenuIcon from '@mui/icons-material/Menu';
import { MainContext } from './context';
import { useLocation } from 'react-router-dom';
export const HeaderMenu: FunctionComponent = () => {
const theme = useTheme();
const { pageSettings } = useContext(MainContext);
const {
defaultMenuContent: DefaultMenuContent,
mobileMenuContent: MobileMenuContent
} = pageSettings.elements;
const isMobile = useMediaQuery(theme.breakpoints.down('lg'));
if (isMobile && MobileMenuContent) {
return ;
} else if (DefaultMenuContent) {
return ;
} else {
return null;
}
};
export const MobileHeaderMenu: FunctionComponent = props => {
const location = useLocation();
const [open, setOpen] = useState(false);
const [anchorEl, setAnchorEl] = useState();
useEffect(() => {
setOpen(false);
}, [location]);
const MenuContent = props.menuContent;
return <>
{
setAnchorEl(event.currentTarget);
setOpen(!open);
}}>
>;
};
export interface MobileHeaderMenuProps {
menuContent: ComponentType;
}