Untitled
unknown
plain_text
a year ago
4.9 kB
5
Indexable
import MenuIcon from '@mui/icons-material/Menu'; import { AppBar, Box, Button, Container, IconButton, Menu, MenuItem, Toolbar, Typography } from '@mui/material'; import { useState } from 'react'; const leftFeatures = ['Matches', 'Results', 'Stats']; const rightFeatures = ['Sign In']; function NavBar() { const [isOpenMenu, setIsOpenMenu] = useState<null | HTMLElement>(null); const handleOpenMenuIcon = (event: React.MouseEvent<HTMLElement>) => { setIsOpenMenu(event.currentTarget); }; const handleCloseNavMenu = () => { setIsOpenMenu(null); }; return ( <AppBar position="static" sx={{ backgroundColor: '#37003c', }}> <Container maxWidth="xl"> <Toolbar sx={{ minHeight: '48px !important' }}> <Typography variant="h6" noWrap component="a" sx={{ mr: 2, display: { xs: 'none', md: 'flex' }, fontFamily: 'monospace', fontWeight: 700, letterSpacing: '.3rem', color: 'inherit', textDecoration: 'none', }} > LOGO </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={handleOpenMenuIcon} color="inherit" > <MenuIcon /> </IconButton> <Menu id="menu-appbar" anchorEl={isOpenMenu} anchorOrigin={{ vertical: 'bottom', horizontal: 'left', }} keepMounted transformOrigin={{ vertical: 'top', horizontal: 'left', }} open={Boolean(isOpenMenu)} onClose={handleCloseNavMenu} sx={{ display: { xs: 'block', md: 'none' }, }} > {leftFeatures.map((page) => ( <MenuItem key={page} onClick={handleCloseNavMenu}> <Typography textAlign="center">{page}</Typography> </MenuItem> ))} </Menu> </Box> <Typography variant="h5" noWrap component="a" sx={{ mr: 2, display: { xs: 'flex', md: 'none' }, flexGrow: 1, fontFamily: 'monospace', fontWeight: 700, letterSpacing: '.3rem', color: 'inherit', textDecoration: 'none', }} > LOGO </Typography> <Box sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }}> {leftFeatures.map((page) => ( <Button key={page} onClick={handleCloseNavMenu} sx={{ my: 0, color: 'white', display: 'block', fontWeight: 700 }} > {page} </Button> ))} </Box> <Box sx={{ flexGrow: 0 }}> {rightFeatures.map((page) => ( <Button key={page} onClick={handleCloseNavMenu} sx={{ my: 0, color: 'white', display: 'block', fontWeight: 700 }} > {page} </Button> ))} </Box> </Toolbar> </Container> </AppBar> ) } export default NavBar;
Editor is loading...
Leave a Comment