import {useState} from "react"; import {Button, Menu, MenuHandler, MenuItem, MenuList} from "@material-tailwind/react"; import { faChevronDown, faChevronUp, faCog, faQuestionCircle, faSignOut, faUser } from "@fortawesome/free-solid-svg-icons"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; import {useAuth} from "Frontend/util/auth"; import {Avatar} from "@hilla/react-components/Avatar"; import {useNavigate} from "react-router-dom"; export default function ProfileMenu() { const [isMenuOpen, setIsMenuOpen] = useState(false); const {state, logout} = useAuth(); const navigate = useNavigate(); const profileMenuItems = [ { label: "My Profile", icon: faUser, onClick: () => alert("Profile") }, { label: "Administration", icon: faCog, onClick: () => alert("Administration"), showIf: state.user?.authorities?.some(a => a?.includes("ADMIN")) }, { label: "Help", icon: faQuestionCircle, onClick: () => window.open("https://github.com/gameyfin/gameyfin/tree/v2", "_blank") }, { label: "Sign Out", icon: faSignOut, onClick: () => logout(), color: "red-500" }, ]; return ( {profileMenuItems.map(({label, icon, onClick, showIf, color}) => { return ( (showIf === undefined || showIf === true) ?

{label}

: null ); })}
); }