From a88c95c90b33c356744e73b2120694db51360b3c Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 22 Jan 2024 19:41:19 +0100 Subject: [PATCH] employee view --- src/App.js | 7 ++++- src/Components/SideMenu/index.js | 48 +++++++++++++++++++------------- src/Contexts/SideBarContext.js | 5 ++++ 3 files changed, 39 insertions(+), 21 deletions(-) diff --git a/src/App.js b/src/App.js index 10c357d..fa414e5 100644 --- a/src/App.js +++ b/src/App.js @@ -75,7 +75,12 @@ export default function App() { return ( - + diff --git a/src/Components/SideMenu/index.js b/src/Components/SideMenu/index.js index 22014c1..4c410e5 100644 --- a/src/Components/SideMenu/index.js +++ b/src/Components/SideMenu/index.js @@ -91,29 +91,37 @@ export function SideMenuContent({ children: [], }; - groupStore.children.push({ - label: t("sideMenu.store.settings"), - icon: , - key: `${Constants.ROUTE_PATHS.STORE.SETTINGS}/${store.store_id}`, - }); + if (sideBarContext.permissions.includes("settings")) { + groupStore.children.push({ + label: t("sideMenu.store.settings"), + icon: , + key: `${Constants.ROUTE_PATHS.STORE.SETTINGS}/${store.store_id}`, + }); + } - groupStore.children.push({ - label: t("sideMenu.store.employees"), - icon: , - key: `${Constants.ROUTE_PATHS.STORE.EMPLOYEES}/${store.store_id}`, - }); + if (sideBarContext.permissions.includes("employees")) { + groupStore.children.push({ + label: t("sideMenu.store.employees"), + icon: , + key: `${Constants.ROUTE_PATHS.STORE.EMPLOYEES}/${store.store_id}`, + }); + } - groupStore.children.push({ - label: t("sideMenu.store.services"), - icon: , - key: `${Constants.ROUTE_PATHS.STORE.SERVICES}/${store.store_id}`, - }); + if (sideBarContext.permissions.includes("services")) { + groupStore.children.push({ + label: t("sideMenu.store.services"), + icon: , + key: `${Constants.ROUTE_PATHS.STORE.SERVICES}/${store.store_id}`, + }); + } - groupStore.children.push({ - label: t("sideMenu.store.calendar"), - icon: , - key: `${Constants.ROUTE_PATHS.STORE.CALENDAR}/${store.store_id}`, - }); + if (sideBarContext.permissions.includes("calendar")) { + groupStore.children.push({ + label: t("sideMenu.store.calendar"), + icon: , + key: `${Constants.ROUTE_PATHS.STORE.CALENDAR}/${store.store_id}`, + }); + } stores.children.push(groupStore); }); diff --git a/src/Contexts/SideBarContext.js b/src/Contexts/SideBarContext.js index 702fbae..58e6b35 100644 --- a/src/Contexts/SideBarContext.js +++ b/src/Contexts/SideBarContext.js @@ -3,6 +3,8 @@ import { createContext, useContext, useState } from "react"; const preview = { username: "", setUsername: () => {}, + permissions: [], + setPermissions: () => {}, }; const SideBarContext = createContext(preview); @@ -11,12 +13,15 @@ export const useSideBarContext = () => useContext(SideBarContext); export default function SideBarProvider({ children, options }) { const [username, setUsername] = useState(options.username); + const [permissions, setPermissions] = useState(options.permissions); return ( {children}