diff --git a/web/src/layout/MinimalLayout/Header/index.js b/web/src/layout/MinimalLayout/Header/index.js index 98061aaf..ef8ebb66 100644 --- a/web/src/layout/MinimalLayout/Header/index.js +++ b/web/src/layout/MinimalLayout/Header/index.js @@ -1,11 +1,30 @@ // material-ui +import { useState } from 'react'; import { useTheme } from '@mui/material/styles'; -import { Box, Button, Stack } from '@mui/material'; +import { + Box, + Button, + Stack, + Popper, + IconButton, + List, + ListItemButton, + Paper, + ListItemText, + Typography, + Divider, + ClickAwayListener +} from '@mui/material'; import LogoSection from 'layout/MainLayout/LogoSection'; import { Link } from 'react-router-dom'; import { useLocation } from 'react-router-dom'; import { useSelector } from 'react-redux'; import ThemeButton from 'ui-component/ThemeButton'; +import ProfileSection from 'layout/MainLayout/Header/ProfileSection'; +import { IconMenu2 } from '@tabler/icons-react'; +import Transitions from 'ui-component/extended/Transitions'; +import MainCard from 'ui-component/cards/MainCard'; +import { useMediaQuery } from '@mui/material'; // ==============================|| MAIN NAVBAR / HEADER ||============================== // @@ -13,6 +32,16 @@ const Header = () => { const theme = useTheme(); const { pathname } = useLocation(); const account = useSelector((state) => state.account); + const [open, setOpen] = useState(null); + const isMobile = useMediaQuery(theme.breakpoints.down('sm')); + + const handleOpenMenu = (event) => { + setOpen(open ? null : event.currentTarget); + }; + + const handleCloseMenu = () => { + setOpen(null); + }; return ( <> @@ -32,24 +61,94 @@ const Header = () => { - - - - - {account.user ? ( - + + {isMobile ? ( + <> + + + + + ) : ( - + <> + + + + {account.user ? ( + + ) : ( + + )} + )} + + + {({ TransitionProps }) => ( + + + + + + + 首页} /> + + + + 关于} /> + + + {account.user ? ( + + 控制台 + + ) : ( + + 登录 + + )} + + + + + + )} + ); }; diff --git a/web/src/layout/MinimalLayout/index.js b/web/src/layout/MinimalLayout/index.js index c2919c6d..81047fd1 100644 --- a/web/src/layout/MinimalLayout/index.js +++ b/web/src/layout/MinimalLayout/index.js @@ -1,6 +1,6 @@ import { Outlet } from 'react-router-dom'; import { useTheme } from '@mui/material/styles'; -import { AppBar, Box, CssBaseline, Toolbar } from '@mui/material'; +import { AppBar, Box, CssBaseline, Toolbar, Container } from '@mui/material'; import Header from './Header'; import Footer from 'ui-component/Footer'; @@ -22,9 +22,11 @@ const MinimalLayout = () => { flex: 'none' }} > - -
- + + +
+ + diff --git a/web/src/views/Authentication/AuthWrapper.js b/web/src/views/Authentication/AuthWrapper.js index 8cd0ec29..dc875704 100644 --- a/web/src/views/Authentication/AuthWrapper.js +++ b/web/src/views/Authentication/AuthWrapper.js @@ -8,7 +8,7 @@ import { UserContext } from 'contexts/UserContext'; // ==============================|| AUTHENTICATION 1 WRAPPER ||============================== // const AuthStyle = styled('div')(({ theme }) => ({ - backgroundColor: theme.palette.primary.light + backgroundColor: theme.palette.background.default })); // eslint-disable-next-line