From 31fc8da65d3c925d3e9395a2c48b6f68a039eb0e Mon Sep 17 00:00:00 2001 From: AmirHossein Mahmoodi Date: Sun, 14 Jan 2024 11:22:06 +0330 Subject: [PATCH] fixed bug sidebar --- .../layouts/Dashboard/Sidebar/SidebarList.jsx | 22 ++++----- src/core/data/sidebarMenu.jsx | 45 ++++++++----------- 2 files changed, 27 insertions(+), 40 deletions(-) diff --git a/src/components/layouts/Dashboard/Sidebar/SidebarList.jsx b/src/components/layouts/Dashboard/Sidebar/SidebarList.jsx index f3afdba..c8ad33c 100644 --- a/src/components/layouts/Dashboard/Sidebar/SidebarList.jsx +++ b/src/components/layouts/Dashboard/Sidebar/SidebarList.jsx @@ -9,15 +9,12 @@ function reducer(state, action) { switch (action.type) { case "COLLAPSE_MENU": return state.map((itemsArr) => itemsArr.map((item) => action.key === item.key ? { - ...item, - showSubItem: !item.showSubItem + ...item, showSubItem: !item.showSubItem } : item)); case "SELECTED": return state.map((itemsArr) => itemsArr.map((item) => { return item.type === "page" ? { - ...item, - selected: action.route === item.route, - routing: false + ...item, selected: action.route === item.route, routing: false } : item.subItem && Array.isArray(item.subItem) ? { ...item, subItem: item.subItem.map((subitem) => ({ ...subitem, selected: subitem.route === action.route, routing: false @@ -27,9 +24,7 @@ function reducer(state, action) { case "SELECTING": return state.map((itemsArr) => itemsArr.map((item) => { return item.type === "page" ? { - ...item, - selected: action.route === item.route, - routing: action.route === item.route + ...item, selected: action.route === item.route, routing: action.route === item.route } : item.subItem && Array.isArray(item.subItem) ? { ...item, subItem: item.subItem.map((subitem) => ({ ...subitem, selected: subitem.route === action.route, routing: subitem.route === action.route @@ -70,15 +65,16 @@ export default function SidebarList({handleDrawerToggle}) { return ( {itemMenu.map((itemArr, index) => ( - {itemArr.map((item) => - {(user?.permissions?.includes(item.permission) || item.permission === "all") && + {(item.permissions.some((permission) => user?.permissions?.includes(permission)) || item.permissions.includes('all')) && + } - )} - - ))} + )} + + ))} ); diff --git a/src/core/data/sidebarMenu.jsx b/src/core/data/sidebarMenu.jsx index a618eb7..be48975 100644 --- a/src/core/data/sidebarMenu.jsx +++ b/src/core/data/sidebarMenu.jsx @@ -24,7 +24,7 @@ const sidebarMenu = [ route: "/dashboard", icon: , selected: false, - permission: "all", + permissions: ["all"], }, { key: "sidebar.reports", @@ -33,7 +33,7 @@ const sidebarMenu = [ route: "/dashboard/reports", icon: , selected: false, - permission: "view_reports_navgan", + permissions: ["view_reports_navgan"], }, { key: "sidebar.loan-history", @@ -42,16 +42,7 @@ const sidebarMenu = [ route: "/dashboard/loan-history", icon: , selected: false, - permission: "view_navgan_loans", - }, - { - key: "sidebar.loan-history-province", - name: "loan-history", - type: "page", - route: "/dashboard/loan-history", - icon: , - selected: false, - permission: "view_navgan_loans_province", + permissions: ["view_navgan_loans", "view_navgan_loans_province"], }, ], [ { @@ -62,7 +53,7 @@ const sidebarMenu = [ route: "/dashboard/passenger-office-chief", icon: , selected: false, - permission: "manage_passenger_office_navgan", + permissions: ["manage_passenger_office_navgan"], }, { key: "sidebar.machinery-expert", @@ -72,7 +63,7 @@ const sidebarMenu = [ route: "/dashboard/machinery-expert", icon: , selected: false, - permission: "manage_machinery_navgan", + permissions: ["manage_machinery_navgan"], }, { key: "sidebar.passenger-boss", @@ -82,7 +73,7 @@ const sidebarMenu = [ route: "/dashboard/passenger-boss", icon: , selected: false, - permission: "manage_province_working_group_navgan", + permissions: ["manage_province_working_group_navgan"], }, { @@ -93,7 +84,7 @@ const sidebarMenu = [ route: "/dashboard/transportation-assistant", icon: , selected: false, - permission: "manage_transportation_navgan", + permissions: ["manage_transportation_navgan"], }, { key: "sidebar.navgan-province-manager", @@ -103,7 +94,7 @@ const sidebarMenu = [ route: "/dashboard/navgan-province-manager", icon: , selected: false, - permission: "manage_province_affairs_navgan", + permissions: ["manage_province_affairs_navgan"], }, { key: "sidebar.navgan-loan-management", @@ -113,7 +104,7 @@ const sidebarMenu = [ route: "/dashboard/navgan-loan-management", icon: , selected: false, - permission: "manage_navgan_loan", + permissions: ["manage_navgan_loan"], }, ], [ { @@ -124,7 +115,7 @@ const sidebarMenu = [ route: "/dashboard/province-head-expert", icon: , selected: false, - permission: "manage_province_headquarter_refahi", + permissions: ["manage_province_headquarter_refahi"], }, { key: "sidebar.inspector-expert", @@ -134,7 +125,7 @@ const sidebarMenu = [ route: "/dashboard/inspector-expert", icon: , selected: false, - permission: "manage_inspector_refahi", + permissions: ["manage_inspector_refahi"], }, { key: "sidebar.commercial-chief", @@ -144,7 +135,7 @@ const sidebarMenu = [ route: "/dashboard/commercial-chief", icon: , selected: false, - permission: "manage_commercial_refahi", + permissions: ["manage_commercial_refahi"], }, { key: "sidebar.development-assistant", @@ -154,7 +145,7 @@ const sidebarMenu = [ route: "/dashboard/development-assistant", icon: , selected: false, - permission: "manage_development_refahi", + permissions: ["manage_development_refahi"], }, { key: "sidebar.refahi-province-manager", @@ -164,7 +155,7 @@ const sidebarMenu = [ route: "/dashboard/refahi-province-manager", icon: , selected: false, - permission: "manage_province_affairs_refahi", + permissions: ["manage_province_affairs_refahi"], }, { key: "sidebar.refahi-loan-management", @@ -174,7 +165,7 @@ const sidebarMenu = [ route: "/dashboard/refahi-loan-management", icon: , selected: false, - permission: "manage_refahi_loan", + permissions: ["manage_refahi_loan"], }, ], [ { @@ -185,7 +176,7 @@ const sidebarMenu = [ route: "/dashboard/expert-management", icon: , selected: false, - permission: "manage_experts", + permissions: ["manage_experts"], }, { key: "sidebar.user-management", @@ -195,7 +186,7 @@ const sidebarMenu = [ route: "/dashboard/user-management", icon: , selected: false, - permission: "manage_users", + permissions: ["manage_users"], }, { key: "sidebar.role-management", @@ -205,7 +196,7 @@ const sidebarMenu = [ route: "/dashboard/role-management", icon: , selected: false, - permission: "manage_roles", + permissions: ["manage_roles"], } ], ];