Guest User

Untitled

a guest
Jun 29th, 2023
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.04 KB | None | 0 0
  1. import { useState } from 'react';
  2. import AppBar from '@mui/material/AppBar';
  3. import Box from '@mui/material/Box';
  4. import Toolbar from '@mui/material/Toolbar';
  5. import IconButton from '@mui/material/IconButton';
  6. import Typography from '@mui/material/Typography';
  7. import Menu from '@mui/material/Menu';
  8. import MenuIcon from '@mui/icons-material/Menu';
  9. import Container from '@mui/material/Container';
  10. import Avatar from '@mui/material/Avatar';
  11. import Button from '@mui/material/Button';
  12. import MenuItem from '@mui/material/MenuItem';
  13. import StarIcon from '@mui/icons-material/Star';
  14. import Divider from '@mui/material/Divider';
  15. import List from '@mui/material/List';
  16. import ListItem from '@mui/material/ListItem';
  17. import ListItemButton from '@mui/material/ListItemButton';
  18. import ListItemText from '@mui/material/ListItemText';
  19. import Drawer from '@mui/material/Drawer';
  20.  
  21. const pages = ['Home', 'About Me', 'Projects', 'Skills', 'Awards'];
  22. const urls = ["/", "about", "projects", "skills", "awards"];
  23.  
  24. interface Props {
  25. window?: () => Window;
  26. }
  27.  
  28. const Navigation = (props: Props) => {
  29. // const [anchorElNav, setAnchorElNav] = useState(null);
  30.  
  31. // const handleOpenNavMenu = (event) => {
  32. // setAnchorElNav(event.currentTarget);
  33. // };
  34.  
  35. // const handleCloseNavMenu = () => {
  36. // setAnchorElNav(null);
  37. // };
  38.  
  39. const [mobileOpen, setMobileOpen] = useState(false);
  40.  
  41. const handleDrawerToggle = () => {
  42. setMobileOpen((prevState) => !prevState);
  43. };
  44.  
  45. const { window } = props;
  46.  
  47. const drawer = (
  48. <Box onClick={handleDrawerToggle} sx={{ textAlign: 'center' }}>
  49. <Typography variant="h6" sx={{ my: 2 }}>
  50. NAME
  51. </Typography>
  52. <Divider />
  53. <List>
  54. {pages.map((item, key) => (
  55. <ListItem disablePadding key={item}>
  56. <ListItemButton sx={{ textAlign: 'center' }}>
  57. <ListItemText primary={item} />
  58. </ListItemButton>
  59. </ListItem>
  60. ))}
  61. </List>
  62. </Box>
  63. );
  64.  
  65. const container = window !== undefined ? () => window().document.body : undefined;
  66.  
  67. return (
  68. <AppBar position="sticky">
  69. <Container maxWidth="xl">
  70. <Toolbar disableGutters>
  71. <StarIcon sx={{ display: { xs: 'none', md: 'flex' }, mr: 1 }} />
  72. <Typography
  73. variant="h6"
  74. noWrap
  75. component="a"
  76. href="/"
  77. sx={{
  78. mr: 2,
  79. display: { xs: 'none', md: 'flex' },
  80. fontFamily: 'monospace',
  81. fontWeight: 700,
  82. letterSpacing: '.2rem',
  83. color: 'inherit',
  84. textDecoration: 'none',
  85. }}
  86. >
  87. NAME
  88. </Typography>
  89.  
  90. <Box sx={{ flexGrow: 1, display: { xs: 'flex', md: 'none' } }}>
  91. <IconButton
  92. size="large"
  93. aria-label="account of current user"
  94. aria-controls="menu-appbar"
  95. aria-haspopup="true"
  96. onClick={handleDrawerToggle}
  97. color="inherit"
  98. >
  99. <MenuIcon />
  100. </IconButton>
  101. <Drawer
  102. container={container}
  103. variant="temporary"
  104. open={mobileOpen}
  105. onClose={handleDrawerToggle}
  106. ModalProps={{
  107. keepMounted:true
  108. }}
  109. sx={{
  110. display: { xs: 'block', sm: 'none' },
  111. '& .MuiDrawer-paper': { boxSizing: 'border-box', width: 240 }
  112. }}
  113. >
  114. {drawer}
  115. </Drawer>
  116. </Box>
  117. <Typography
  118. variant="body2"
  119. noWrap
  120. component="a"
  121. href=""
  122. sx={{
  123. mr: 2,
  124. display: { xs: 'flex', md: 'none' },
  125. flexGrow: 1,
  126. fontFamily: 'monospace',
  127. fontWeight: 700,
  128. letterSpacing: '.1rem',
  129. color: 'inherit',
  130. textDecoration: 'none',
  131. }}
  132. >
  133. NAME
  134. </Typography>
  135. <Box sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }}>
  136. {pages.map((page, key) => (
  137. <Button
  138. key={page}
  139. onClick={handleDrawerToggle}
  140. sx={{ my: 2, color: 'white', display: 'block' }}
  141. >
  142. {page}
  143. </Button>
  144. ))}
  145. </Box>
  146.  
  147. <Box sx={{ flexGrow: 0 }}>
  148. <IconButton sx={{ p: 0 }}>
  149. <Avatar alt="Remy Sharp" src="photo.jpg" />
  150. </IconButton>
  151. {/* <Menu
  152. sx={{ mt: '45px' }}
  153. id="menu-appbar"
  154. open={mobileOpen}
  155. keepMounted
  156. transformOrigin={{
  157. vertical: 'top',
  158. horizontal: 'right',
  159. }}
  160. >
  161. </Menu> */}
  162. </Box>
  163. </Toolbar>
  164. </Container>
  165. </AppBar>
  166. );
  167. }
  168. export default Navigation;
Advertisement
Add Comment
Please, Sign In to add comment