add link to admin painel on user menu

This commit is contained in:
João Geonizeli
2022-07-28 08:26:27 -03:00
parent 89f39f93e9
commit aa11f8aa6a
2 changed files with 16 additions and 5 deletions

View File

@@ -12,9 +12,8 @@ import { DashboardRoutePaths, QuestionRoutePaths, SessionRoutePaths } from '../.
import { turnOff } from '../../services/store/unsavedChanges';
import { CurrentUserAvatar } from "../CurrentUserAvatar";
import { localFetch } from '../../utils/localFetch';
import unifesoLogoCompact from "../../assets/images/logoImgUnifeso.png";
import unifesoLogo from "../../assets/images/unifeso-logo-branco.svg";
import { notEmpty } from '../../utils/notEmpty';
import { UserRole } from '../../__generated__/graphql-schema';
const UserMenu: FC = () => {
const { user } = useCurrentUser();
@@ -61,7 +60,16 @@ const UserMenu: FC = () => {
}
}
const menuItems = [
type MenuItem = {
onClick: Function
label: string
}
const menuItems: MenuItem[] = [
(user?.roles.includes(UserRole.Admin) && {
onClick: () => { window.location.href = '/admin'},
label: 'Painel de Administração'
}),
{
onClick: () => { handleLinkClick(SessionRoutePaths.show) },
label: 'Perfil'
@@ -70,7 +78,7 @@ const UserMenu: FC = () => {
onClick: handleLogout,
label: 'Sair'
}
]
].filter(notEmpty)
return (
<>

View File

@@ -0,0 +1,3 @@
// Use a type predicate function to avoid opting out of strict type checking: https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates
export const notEmpty = <T>(value: T | null | undefined): value is T =>
value !== null && value !== undefined