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"; import rs from "../../assets/images/rs.png"; import en from "../../assets/images/en.png"; const NavbarComponent = () => { const navItems = [ "users", "files", "filesView", // "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, i18n } = useTranslation(); const handleToggleDrawer = () => { setOpenDrawer(!openDrawer); }; const changeLanguageHandler = () => { i18n.language === "en" ? i18n.changeLanguage("rs") : i18n.changeLanguage("en"); }; 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( () => (