ソースを参照

Navbar popovers

feature/code-cleanup-joca
Jovan Petrovic 3年前
コミット
1b484de5ae
1個のファイルの変更59行の追加4行の削除
  1. 59
    4
      src/components/MUI/NavbarComponent.js

+ 59
- 4
src/components/MUI/NavbarComponent.js ファイルの表示

ListItemText, ListItemText,
useMediaQuery, useMediaQuery,
SvgIcon, SvgIcon,
Typography,
} from "@mui/material"; } from "@mui/material";
import { useTheme } from "@mui/system"; import { useTheme } from "@mui/system";
import MenuOutlinedIcon from "@mui/icons-material/MenuOutlined"; import MenuOutlinedIcon from "@mui/icons-material/MenuOutlined";
import { ColorModeContext } from "../../context/ColorModeContext"; import { ColorModeContext } from "../../context/ColorModeContext";
import { PrimaryButton } from "../Buttons/PrimaryButton/PrimaryButton"; import { PrimaryButton } from "../Buttons/PrimaryButton/PrimaryButton";
import { PRIMARY_YELLOW_COLOR } from "../../constants/stylesConstants"; import { PRIMARY_YELLOW_COLOR } from "../../constants/stylesConstants";
import PopoverComponent from "./PopoverComponent";


const NavbarComponent = () => { const NavbarComponent = () => {
const [openDrawer, setOpenDrawer] = useState(false); const [openDrawer, setOpenDrawer] = useState(false);
setOpenDrawer(!openDrawer); setOpenDrawer(!openDrawer);
}; };


const [postsPopoverOpen, setPostsPopoverOpen] = useState(false);
const [postsAnchorEl, setPostsAnchorEl] = useState(null);

const [msgPopoverOpen, setMsgPopoverOpen] = useState(false);
const [msgAnchorEl, setMsgAnchorEl] = useState(null);

const [userPopoverOpen, setUserPopoverOpen] = useState(false);
const [userAnchorEl, setUserAnchorEl] = useState(null);

const drawerContent = useMemo( const drawerContent = useMemo(
() => ( () => (
<List> <List>
sx={{ sx={{
display: "flex", display: "flex",
justifyContent: "center", justifyContent: "center",
alignItems: "center"
alignItems: "center",
}} }}
> >
<SvgIcon sx={{ overflow: "visible", width: "81%", mb: 2.7 }}> <SvgIcon sx={{ overflow: "visible", width: "81%", mb: 2.7 }}>
> >
DODAJ PROIZVOD DODAJ PROIZVOD
</PrimaryButton> </PrimaryButton>
<IconButton sx={{ ml: 4, mr: 2 }}>
<IconButton
onClick={(e) => {
setPostsPopoverOpen(true);
setPostsAnchorEl(e.currentTarget);
}}
sx={{ ml: 4, mr: 2 }}
>
<Autorenew /> <Autorenew />
</IconButton> </IconButton>
<IconButton sx={{ mr: 2 }}>
<IconButton
onClick={(e) => {
setMsgPopoverOpen(true);
setMsgAnchorEl(e.currentTarget);
}}
sx={{ mr: 2 }}
>
<Badge badgeContent={3} color="primary"> <Badge badgeContent={3} color="primary">
<MailIcon color="action" /> <MailIcon color="action" />
</Badge> </Badge>
</IconButton> </IconButton>
<IconButton>
<IconButton
onClick={(e) => {
setUserPopoverOpen(true);
setUserAnchorEl(e.currentTarget);
}}
>
<AccountCircle /> <AccountCircle />
</IconButton> </IconButton>
</Box> </Box>
</Box> </Box>
</Box> </Box>
</Toolbar> </Toolbar>
<PopoverComponent
anchorEl={postsAnchorEl}
open={postsPopoverOpen}
onClose={() => {
setPostsPopoverOpen(false);
setPostsAnchorEl(null);
}}
content={<Typography sx={{ p: 2 }}>Moje objave</Typography>}
/>
<PopoverComponent
anchorEl={msgAnchorEl}
open={msgPopoverOpen}
onClose={() => {
setMsgPopoverOpen(false);
setMsgAnchorEl(null);
}}
content={<Typography sx={{ p: 2 }}>Moje poruke</Typography>}
/>
<PopoverComponent
anchorEl={userAnchorEl}
open={userPopoverOpen}
onClose={() => {
setUserPopoverOpen(false);
setUserAnchorEl(null);
}}
content={<Typography sx={{ p: 2 }}>Moj profil</Typography>}
/>
</AppBar> </AppBar>
); );
}; };

読み込み中…
キャンセル
保存