access object imported
This commit is contained in:
parent
6886c93760
commit
eff8a544ba
1 changed files with 28 additions and 2 deletions
|
|
@ -1,8 +1,8 @@
|
||||||
import { Avatar, Box, Button, IconButton, ListItemIcon, ListItemText, Menu, MenuItem, PaletteColor, Theme, useTheme } from "@mui/material";
|
import { Avatar, Box, Button, IconButton, ListItemIcon, ListItemText, Menu, MenuItem, PaletteColor, Theme, Tooltip, useTheme } from "@mui/material";
|
||||||
import { useGlobalState } from "../providers/StateContainer";
|
import { useGlobalState } from "../providers/StateContainer";
|
||||||
import { getSecondaryColour, getSignatureAccentColour } from "../services/whiteLabel";
|
import { getSecondaryColour, getSignatureAccentColour } from "../services/whiteLabel";
|
||||||
import { makeStyles } from "@mui/styles";
|
import { makeStyles } from "@mui/styles";
|
||||||
import { LockOpen, Person, Lock, Settings, SupervisedUserCircle as TeamIcon, ExitToApp } from "@mui/icons-material";
|
import { LockOpen, Person, Lock, Settings, SupervisedUserCircle as TeamIcon, ExitToApp, PersonAdd } from "@mui/icons-material";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import UserTeamName from "./UserTeamName";
|
import UserTeamName from "./UserTeamName";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
@ -13,8 +13,12 @@ import UserAvatar from "./UserAvatar";
|
||||||
import { purple } from "@mui/material/colors";
|
import { purple } from "@mui/material/colors";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
import TeamDialog from "teams/TeamDialog";
|
import TeamDialog from "teams/TeamDialog";
|
||||||
|
import AccessObject from "./AccessObject";
|
||||||
|
|
||||||
const useStyles = makeStyles((theme: Theme) => ({
|
const useStyles = makeStyles((theme: Theme) => ({
|
||||||
|
accessIcon: {
|
||||||
|
color: "var(--status-ok)"
|
||||||
|
},
|
||||||
userAvatar: {
|
userAvatar: {
|
||||||
color: "#fff",
|
color: "#fff",
|
||||||
backgroundColor: getSecondaryColour()["700" as keyof PaletteColor],
|
backgroundColor: getSecondaryColour()["700" as keyof PaletteColor],
|
||||||
|
|
@ -91,6 +95,7 @@ export default function UserMenu(props: Props) {
|
||||||
// const allowedToCopyToken = user.allowedTo("copy-token");
|
// const allowedToCopyToken = user.allowedTo("copy-token");
|
||||||
const hasTeams = user.hasFeature ? user.hasFeature("teams") : false;
|
const hasTeams = user.hasFeature ? user.hasFeature("teams") : false;
|
||||||
const [teamDialogIsOpen, setTeamDialogIsOpen] = useState<boolean>(false);
|
const [teamDialogIsOpen, setTeamDialogIsOpen] = useState<boolean>(false);
|
||||||
|
const [accessDialogOpen, setAccessDialogOpen] = useState<boolean>(false);
|
||||||
|
|
||||||
const navigate = useNavigate()
|
const navigate = useNavigate()
|
||||||
|
|
||||||
|
|
@ -131,6 +136,11 @@ export default function UserMenu(props: Props) {
|
||||||
setUserSettingsIsOpen(false)
|
setUserSettingsIsOpen(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const openAccessObject = () => {
|
||||||
|
setAccessDialogOpen(true);
|
||||||
|
closeUserMenu();
|
||||||
|
};
|
||||||
|
|
||||||
const handleLogout = () => {
|
const handleLogout = () => {
|
||||||
closeUserMenu();
|
closeUserMenu();
|
||||||
navigate("/logout");
|
navigate("/logout");
|
||||||
|
|
@ -165,6 +175,8 @@ export default function UserMenu(props: Props) {
|
||||||
|
|
||||||
if (user.id().length < 1) return unauthenticatedUserMenu()
|
if (user.id().length < 1) return unauthenticatedUserMenu()
|
||||||
|
|
||||||
|
const hasAdmin = user.hasFeature ? user.hasFeature("admin") : false;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Button
|
<Button
|
||||||
|
|
@ -230,6 +242,16 @@ export default function UserMenu(props: Props) {
|
||||||
<ListItemText primary="Select Team" />
|
<ListItemText primary="Select Team" />
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
)}
|
)}
|
||||||
|
{hasAdmin && (
|
||||||
|
<Tooltip title="Access Object">
|
||||||
|
<MenuItem onClick={() => openAccessObject()} aria-label="Access Object" dense>
|
||||||
|
<ListItemIcon>
|
||||||
|
<PersonAdd className={classes.accessIcon} />
|
||||||
|
</ListItemIcon>
|
||||||
|
<ListItemText primary="Access Object" />
|
||||||
|
</MenuItem>
|
||||||
|
</Tooltip>
|
||||||
|
)}
|
||||||
<MenuItem onClick={handleLogout} aria-label="Sign Out" dense>
|
<MenuItem onClick={handleLogout} aria-label="Sign Out" dense>
|
||||||
<ListItemIcon>
|
<ListItemIcon>
|
||||||
<ExitToApp className={classes.red} />
|
<ExitToApp className={classes.red} />
|
||||||
|
|
@ -239,6 +261,10 @@ export default function UserMenu(props: Props) {
|
||||||
</Menu>
|
</Menu>
|
||||||
<TeamDialog open={teamDialogIsOpen} setOpen={setTeamDialogIsOpen} />
|
<TeamDialog open={teamDialogIsOpen} setOpen={setTeamDialogIsOpen} />
|
||||||
<UserSettings isOpen={userSettingsIsOpen} closeDialogCallback={closeUserSettingsDialog} />
|
<UserSettings isOpen={userSettingsIsOpen} closeDialogCallback={closeUserSettingsDialog} />
|
||||||
|
<AccessObject
|
||||||
|
isOpen={accessDialogOpen}
|
||||||
|
closeDialogCallback={() => setAccessDialogOpen(false)}
|
||||||
|
/>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue