Nav.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. import * as React 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 Tooltip from '@mui/material/Tooltip';
  13. import MenuItem from '@mui/material/MenuItem';
  14. import AdbIcon from '@mui/icons-material/Adb';
  15. import Link from'next/link';
  16. const pages = ['Donation', 'callender','temp-page2','temp-page3','temp-page4'];
  17. const settings = [ 'setting'];
  18. const ResponsiveAppBar = () => {
  19. const [anchorElNav, setAnchorElNav] = React.useState(null);
  20. const [anchorElUser, setAnchorElUser] = React.useState(null);
  21. const handleOpenNavMenu = (event) => {
  22. setAnchorElNav(event.currentTarget);
  23. };
  24. const handleOpenUserMenu = (event) => {
  25. setAnchorElUser(event.currentTarget);
  26. };
  27. const handleCloseNavMenu = () => {
  28. setAnchorElNav(null);
  29. };
  30. const handleCloseUserMenu = () => {
  31. setAnchorElUser(null);
  32. };
  33. return (
  34. <AppBar position="static">
  35. <Container maxWidth="xl">
  36. <Toolbar disableGutters>
  37. <AdbIcon sx={{ display: { xs: 'none', md: 'flex' }, mr: 1 }} />
  38. <Typography
  39. variant="h6"
  40. noWrap
  41. component="a"
  42. href="/"
  43. sx={{
  44. mr: 2,
  45. display: { xs: 'none', md: 'flex' },
  46. fontFamily: 'monospace',
  47. fontWeight: 700,
  48. letterSpacing: '.3rem',
  49. color: 'inherit',
  50. textDecoration: 'none',
  51. }}
  52. >
  53. Home
  54. </Typography>
  55. <Box sx={{ flexGrow: 1, display: { xs: 'flex', md: 'none' } }}>
  56. <IconButton
  57. size="large"
  58. aria-label="account of current user"
  59. aria-controls="menu-appbar"
  60. aria-haspopup="true"
  61. onClick={handleOpenNavMenu}
  62. color="inherit"
  63. >
  64. <MenuIcon />
  65. </IconButton>
  66. <Menu
  67. id="menu-appbar"
  68. anchorEl={anchorElNav}
  69. anchorOrigin={{
  70. vertical: 'bottom',
  71. horizontal: 'left',
  72. }}
  73. keepMounted
  74. transformOrigin={{
  75. vertical: 'top',
  76. horizontal: 'left',
  77. }}
  78. open={Boolean(anchorElNav)}
  79. onClose={handleCloseNavMenu}
  80. sx={{
  81. display: { xs: 'block', md: 'none' },
  82. }}
  83. >
  84. {pages.map((page) => (
  85. <MenuItem key={page} onClick={handleCloseNavMenu}>
  86. <Link href = {`/${page}`}>
  87. <Typography
  88. textAlign="center"
  89. sx={{
  90. color: 'inherit',
  91. textDecoration: 'none',
  92. }}>
  93. {page}
  94. </Typography>
  95. </Link>
  96. </MenuItem>
  97. ))}
  98. </Menu>
  99. </Box>
  100. <AdbIcon sx={{ display: { xs: 'flex', md: 'none' }, mr: 1 }} />
  101. <Typography
  102. variant="h5"
  103. noWrap
  104. component="a"
  105. href="/"
  106. sx={{
  107. mr: 2,
  108. display: { xs: 'flex', md: 'none' },
  109. flexGrow: 1,
  110. fontFamily: 'monospace',
  111. fontWeight: 700,
  112. letterSpacing: '.3rem',
  113. color: 'inherit',
  114. textDecoration: 'none',
  115. }}
  116. //codenced page
  117. >
  118. Home
  119. </Typography>
  120. <Box sx={{ flexGrow: 1, display: { xs: 'none', md: 'flex' } }}>
  121. {pages.map((page) => (
  122. <Link href = {`/${page}`}>
  123. <Button
  124. key={page}
  125. onClick={handleCloseNavMenu}
  126. sx={{ my: 2, color: 'white', display: 'block',textDecoration: 'none'}}
  127. >
  128. {page}
  129. </Button>
  130. </Link>
  131. ))}
  132. </Box>
  133. <Box sx={{ flexGrow: 0 }}>
  134. <Tooltip title="Open settings">
  135. <IconButton onClick={handleOpenUserMenu} sx={{ p: 0 }}>
  136. <Avatar alt="Remy Sharp" src="/static/images/avatar/2.jpg" />
  137. </IconButton>
  138. </Tooltip>
  139. <Menu
  140. sx={{ mt: '45px' }}
  141. id="menu-appbar"
  142. anchorEl={anchorElUser}
  143. anchorOrigin={{
  144. vertical: 'top',
  145. horizontal: 'right',
  146. }}
  147. keepMounted
  148. transformOrigin={{
  149. vertical: 'top',
  150. horizontal: 'right',
  151. }}
  152. open={Boolean(anchorElUser)}
  153. onClose={handleCloseUserMenu}
  154. >
  155. {settings.map((setting) => (
  156. <MenuItem key={setting} onClick={handleCloseUserMenu}>
  157. <Link href = {`/${setting}`}>
  158. <Typography textAlign="center">
  159. {setting}
  160. </Typography>
  161. </Link>
  162. </MenuItem>
  163. ))}
  164. </Menu>
  165. </Box>
  166. </Toolbar>
  167. </Container>
  168. </AppBar>
  169. );
  170. };
  171. export default ResponsiveAppBar;
  172. /*export default ResponsiveAppBar;
  173. return (
  174. <Box sx={{ width: '100%' }}>
  175. <Tabs value={value} onChange={handleChange} aria-label="nav tabs example">
  176. <LinkTab label="Home" href="/" />
  177. <LinkTab label="Donations" href="/Donation"/>
  178. <LinkTab label="temp-page1" href="/temp-page1" />
  179. <LinkTab label="temp-page2" href="/temp-page2" />
  180. <LinkTab label="temp-page3" href="/temp-page3" />
  181. <LinkTab label="temp-page4" href="/temp-page4" />
  182. </Tabs>
  183. </Box>
  184. );
  185. */
  186. /*<Link href="/">Home</Link> */
  187. /* <Link style={{textDecoration:"none",color:"white"}}
  188. to = {`/${page}`}>
  189. {page}
  190. </Link>*/