change style

This commit is contained in:
Amirhossein Mahmoodi
2024-08-19 14:06:38 +03:30
parent 7970aecc90
commit 1bd0f7f606
3 changed files with 35 additions and 42 deletions

View File

@@ -8,7 +8,7 @@ const SidebarListItems = ({ menuItem, dispatch }) => {
<> <>
<ListItem disablePadding divider> <ListItem disablePadding divider>
<ListItemButton <ListItemButton
sx={{ py: 1, px: 0.5 }} sx={{ p: 0.5 }}
disableGutters disableGutters
selected={menuItem.selected} selected={menuItem.selected}
component={menuItem.type === "page" ? Link : null} component={menuItem.type === "page" ? Link : null}

View File

@@ -26,60 +26,53 @@ function selectPage(item, route) {
return item; return item;
} }
function toggleSubitems(items, actionId) {
return items.map((item) =>
actionId === item.id
? { ...item, showSubitems: !item.showSubitems }
: { ...item, showSubitems: false }
);
}
function reducer(state, action) { function reducer(state, action) {
switch (action.type) { switch (action.type) {
case "UPDATE_MENU": case "UPDATE_MENU":
const _permissions = action.permissions || []; const _permissions = action.permissions || [];
const filteredPageMenu = filterMenuItems(state, ["all", ..._permissions]); return filterMenuItems(state, ["all", ..._permissions]);
return filteredPageMenu;
case "COLLAPSE_MENU": case "COLLAPSE_MENU":
return state.map((item) => return state.map((item) => ({
action.id == item.id ...item,
? { showSubitems: item.id === action.id ? !item.showSubitems : false,
...item, }));
showSubitems: !item.showSubitems,
}
: item,
);
case "COLLAPSE_SUB_ITEMS": case "COLLAPSE_SUB_ITEMS":
return state.map((item) => { return state.map((item) =>
return item.hasSubitems item.hasSubitems
? { ...item, Subitems: toggleSubitems(item.Subitems, action.id) }
: item
);
case "COLLAPSE_SUB_SECOND_ITEMS":
return state.map((item) =>
item.hasSubitems
? { ? {
...item, ...item,
Subitems: item.Subitems.map((subitem) => Subitems: item.Subitems.map((subitem) =>
action.id === subitem.id subitem.hasSubitems
? { ? {
...subitem, ...subitem,
showSubitems: !subitem.showSubitems, Subitems: toggleSubitems(
} subitem.Subitems,
: subitem, action.id
),
}
: item;
});
case "COLLAPSE_SUB_SECOND_ITEMS":
return state.map((item) => {
return item.hasSubitems
? {
...item,
Subitems: item.Subitems.map((subitem) => {
return subitem.hasSubitems
? {
...subitem,
Subitems: subitem.Subitems.map((secondSubitem) =>
action.id === secondSubitem.id
? {
...secondSubitem,
showSubitems: !secondSubitem.showSubitems,
}
: secondSubitem,
), ),
} }
: subitem; : subitem
}), ),
} }
: item; : item
}); );
case "SELECTED": case "SELECTED":
return state.map((item) => selectPage(item, action.route)); return state.map((item) => selectPage(item, action.route));

View File

@@ -8,7 +8,7 @@ const SidebarSubitems = ({ subitem, dispatch }) => {
<ListItem disablePadding divider> <ListItem disablePadding divider>
<ListItemButton <ListItemButton
disableGutters disableGutters
sx={{ py: 1, px: 0.5, pl: 1 }} sx={{ p: 0.5, pl: 1 }}
selected={subitem.selected} selected={subitem.selected}
component={subitem.type === "page" ? Link : null} component={subitem.type === "page" ? Link : null}
href={subitem.type === "page" ? subitem.route : null} href={subitem.type === "page" ? subitem.route : null}