UNPKG

tln-pm

Version:
161 lines (152 loc) 5.32 kB
import { useState } from 'react'; import { NavLink, useLocation } from "react-router"; import AppBar from '@mui/material/AppBar'; import Box from '@mui/material/Box'; import Toolbar from '@mui/material/Toolbar'; import IconButton from '@mui/material/IconButton'; import Typography from '@mui/material/Typography'; import Menu from '@mui/material/Menu'; import MenuIcon from '@mui/icons-material/Menu'; import Container from '@mui/material/Container'; import Button from '@mui/material/Button'; import MenuItem from '@mui/material/MenuItem'; import AccountTreeIcon from '@mui/icons-material/AccountTree'; //const settings = ['Profile', 'Account', 'Dashboard', 'Logout']; function Header(props) { const location = useLocation(); const [anchorElNav, setAnchorElNav] = useState(null); //const [anchorElUser, setAnchorElUser] = useState(null); const handleOpenNavMenu = (event) => { setAnchorElNav(event.currentTarget); }; // const handleOpenUserMenu = (event) => { // setAnchorElUser(event.currentTarget); // }; const handleCloseNavMenu = () => { setAnchorElNav(null); }; // const handleCloseUserMenu = () => { // setAnchorElUser(null); // }; // // console.log('!Header'); return ( <AppBar position="static" elevation={0}> <Container maxWidth="xl"> <Toolbar disableGutters> <AccountTreeIcon sx={{ display: { xs: 'none', md: 'flex' }, mr: 1 }} /> <Typography variant="h7" noWrap component="a" sx={{ mr: 2, display: { xs: 'none', md: 'flex' }, fontWeight: 400, color: 'inherit', textDecoration: 'none', }} > <span>tpm <sub>{props.version}</sub></span> </Typography> <Box sx={{ flexGrow: 1, display: { xs: 'flex', md: 'none' } }}> <IconButton size="large" aria-label="account of current user" aria-controls="menu-appbar" aria-haspopup="true" onClick={handleOpenNavMenu} color="inherit" > <MenuIcon /> </IconButton> <Menu id="menu-appbar" anchorEl={anchorElNav} anchorOrigin={{ vertical: 'bottom', horizontal: 'left', }} keepMounted transformOrigin={{ vertical: 'top', horizontal: 'left', }} open={Boolean(anchorElNav)} onClose={handleCloseNavMenu} sx={{ display: { xs: 'block', md: 'none' } }} > {props.pages.map((page) => ( <NavLink key={page.id} to={page.href} style={{textDecoration: 'none'}} > <MenuItem onClick={handleCloseNavMenu}> <Typography sx={{ textAlign: 'center', color: 'black' }}>{page.title}</Typography> </MenuItem> </NavLink> ))} </Menu> </Box> <AccountTreeIcon sx={{ display: { xs: 'flex', md: 'none' }, mr: 1 }} /> <Typography variant="h7" noWrap component="a" sx={{ mr: 2, display: { xs: 'flex', md: 'none' }, flexGrow: 1, fontWeight: 400, color: 'inherit', textDecoration: 'none', }} > <span>tpm <sub>{props.version}</sub></span> </Typography> <Box sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }}> {props.pages.map((page) => ( <NavLink key={page.id} to={page.href} style={{textDecoration: 'none'}} > <Button onClick={handleCloseNavMenu} sx={{ my: 2, color: 'white', display: 'block', textDecoration: location.pathname === page.href ? "underline" : "none" }} > {page.title} </Button> </NavLink> ))} </Box> {/* <Box sx={{ flexGrow: 0 }}> <Tooltip title="Open settings"> <IconButton onClick={handleOpenUserMenu} sx={{ p: 0 }}> <Avatar alt="Remy Sharp" src="/static/images/avatar/2.jpg" /> </IconButton> </Tooltip> <Menu sx={{ mt: '45px' }} id="menu-appbar" anchorEl={anchorElUser} anchorOrigin={{ vertical: 'top', horizontal: 'right', }} keepMounted transformOrigin={{ vertical: 'top', horizontal: 'right', }} open={Boolean(anchorElUser)} onClose={handleCloseUserMenu} > {settings.map((setting) => ( <MenuItem key={setting} onClick={handleCloseUserMenu}> <Typography sx={{ textAlign: 'center' }}>{setting}</Typography> </MenuItem> ))} </Menu> </Box> */} </Toolbar> </Container> </AppBar> ); } export default Header;