import React, { useState, useMemo, useRef, useEffect } from "react"; import { AppBar, // Badge, Box, IconButton, Toolbar, Typography, List, // ListItem, ListItemButton, ListItemIcon, ListItemText, useMediaQuery, Button, } from "@mui/material"; import HrLogo from "../../assets/images/HR.png"; // import x from "../../assets/images/x.png"; import avatarLogo from "../../assets/images/Avatar.png"; import searchIcon from "../../assets/images/Vector.png"; import { useTheme } from "@mui/system"; import MenuOutlinedIcon from "@mui/icons-material/MenuOutlined"; // import ShoppingBasketIcon from "@mui/icons-material/ShoppingBasket"; // import Brightness4Icon from "@mui/icons-material/Brightness4"; // import Brightness7Icon from "@mui/icons-material/Brightness7"; // import MenuList from "./MenuListComponent"; import Drawer from "./DrawerComponent"; // import { ColorModeContext } from "../../context/ColorModeContext"; import { useTranslation } from "react-i18next"; import CloseIcon from "@mui/icons-material/Close"; import LogoutIcon from "@mui/icons-material/Logout"; import UserProfile from "../Profile/UserProfile"; import { useSelector } from "react-redux"; //import { userSelector } from "../../store/selectors/userSelectors"; import { Link, useLocation } from "react-router-dom"; const NavbarComponent = () => { const navItems = [ "jobs", "selectionFlow", "candidates", "schedule", "patterns", "statistics", "users", // "signOut" ]; const { pathname } = useLocation(); const [openDrawer, setOpenDrawer] = useState(false); const [preview, setPreview] = useState(false); const theme = useTheme(); const matches = useMediaQuery(theme.breakpoints.down("sm")); // const toggleColorMode = useContext(ColorModeContext); let userRef = useRef(); let btnRef = useRef(); // get authenticated user const { user } = useSelector((s) => s.user); const { t } = useTranslation(); const handleToggleDrawer = () => { setOpenDrawer(!openDrawer); }; const userPreviewHandler = () => { setPreview(!preview); }; useEffect(() => { let handler = (e) => { if (userRef.current) { if ( !userRef.current.contains(e.target) && !btnRef.current.contains(e.target) ) { setPreview(false); } } }; document.addEventListener("mousedown", handler, { capture: true }); return () => { document.removeEventListener("mousedown", handler, { capture: true }); }; }, []); const drawerContent = useMemo( () => (