diff --git a/src/components/Navigation/MainMenu.tsx b/src/components/Navigation/MainMenu.tsx index 5449514..f0d36b2 100644 --- a/src/components/Navigation/MainMenu.tsx +++ b/src/components/Navigation/MainMenu.tsx @@ -1,8 +1,9 @@ import { FC, useCallback, useState } from "react" import { useSelector } from "react-redux" import classnames from "classnames" -import { isUserConnected, routerSelector } from "../../store/auth" +import { isUserConnected, routerSelector, selectUserRoles } from "../../store/auth" import styles from "./styles.module.scss" +import ROLES from "../../utils/roles.constants" interface MenuItemProps { name: string @@ -19,6 +20,15 @@ const MenuItem: FC = ({ name, pathname }): JSX.Element => { ) } +interface RestrictMenuItemProps extends MenuItemProps { + role: string +} + +const RestrictMenuItem: FC = ({ name, pathname, role }): JSX.Element => { + const roles = useSelector(selectUserRoles) + return roles.includes(role) ? :
+} + const MainMenu: FC = (): JSX.Element => { const connected = useSelector(isUserConnected) const [opened, setOpened] = useState(false) @@ -42,6 +52,11 @@ const MainMenu: FC = (): JSX.Element => { +