fixed bug sidebar

This commit is contained in:
AmirHossein Mahmoodi
2024-01-14 11:22:06 +03:30
parent 6d36462663
commit 31fc8da65d
2 changed files with 27 additions and 40 deletions

View File

@@ -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 (<List dense={true} sx={{overflow: "scroll", p: 0}}>
{itemMenu.map((itemArr, index) => (<Fragment key={index}>
{itemArr.map((item) => <Fragment key={item.key}>
{(user?.permissions?.includes(item.permission) || item.permission === "all") && <SidebarListItem
{itemArr.map((item) => <Fragment key={item.key}>
{(item.permissions.some((permission) => user?.permissions?.includes(permission)) || item.permissions.includes('all')) &&
<SidebarListItem
item={item}
dispatch={dispatch}
handleDrawerToggle={handleDrawerToggle}
/>}
</Fragment>)}
<Divider/>
</Fragment>))}
</Fragment>)}
<Divider/>
</Fragment>))}
</List>
);