Simplify dashboard code

This commit is contained in:
2025-11-04 22:02:56 +01:00
parent 79b5a767f3
commit 3de26c0fff
4 changed files with 20 additions and 51 deletions

View File

@@ -1,6 +1,5 @@
import BarChartIcon from "@mui/icons-material/BarChart";
import LayersIcon from "@mui/icons-material/Layers";
import PersonIcon from "@mui/icons-material/Person";
import { mdiBug, mdiForum, mdiKeyVariant, mdiLinkLock } from "@mdi/js";
import Icon from "@mdi/react";
import Box from "@mui/material/Box";
import Drawer from "@mui/material/Drawer";
import List from "@mui/material/List";
@@ -9,7 +8,6 @@ import { useTheme } from "@mui/material/styles";
import type {} from "@mui/material/themeCssVarsAugmentation";
import useMediaQuery from "@mui/material/useMediaQuery";
import * as React from "react";
import { useLocation } from "react-router";
import DashboardSidebarContext from "./DashboardSidebarContext";
import DashboardSidebarDividerItem from "./DashboardSidebarDividerItem";
import DashboardSidebarPageItem from "./DashboardSidebarPageItem";
@@ -38,7 +36,6 @@ export default function DashboardSidebar({
const isOverMdViewport = useMediaQuery(theme.breakpoints.up("md"));
const [isFullyExpanded, setIsFullyExpanded] = React.useState(expanded);
const [isFullyCollapsed, setIsFullyCollapsed] = React.useState(!expanded);
React.useEffect(() => {
if (expanded) {
@@ -54,20 +51,6 @@ export default function DashboardSidebar({
return () => {};
}, [expanded, theme.transitions.duration.enteringScreen]);
React.useEffect(() => {
if (!expanded) {
const drawerWidthTransitionTimeout = setTimeout(() => {
setIsFullyCollapsed(true);
}, theme.transitions.duration.leavingScreen);
return () => clearTimeout(drawerWidthTransitionTimeout);
}
setIsFullyCollapsed(false);
return () => {};
}, [expanded, theme.transitions.duration.leavingScreen]);
const mini = !disableCollapsibleSidebar && !expanded;
const handleSetSidebarExpanded = React.useCallback(
@@ -116,23 +99,25 @@ export default function DashboardSidebar({
}}
>
<DashboardSidebarPageItem
id="employees"
title="Employees"
icon={<PersonIcon />}
href="/employees"
title="Messages"
icon={<Icon path={mdiForum} size={"1.5em"} />}
href="/"
/>
<DashboardSidebarDividerItem />
<DashboardSidebarPageItem
id="reports"
title="Reports"
icon={<BarChartIcon />}
href="/reports"
title="Matrix link"
icon={<Icon path={mdiLinkLock} size={"1.5em"} />}
href="/matrixlink"
/>
<DashboardSidebarPageItem
id="integrations"
title="Integrations"
icon={<LayersIcon />}
href="/integrations"
title="API tokens"
icon={<Icon path={mdiKeyVariant} size={"1.5em"} />}
href="/tokens"
/>
<DashboardSidebarPageItem
title="WS Debug"
icon={<Icon path={mdiBug} size={"1.5em"} />}
href="/wsdebug"
/>
</List>
</Box>
@@ -168,16 +153,9 @@ export default function DashboardSidebar({
onPageItemClick: handlePageItemClick,
mini,
fullyExpanded: isFullyExpanded,
fullyCollapsed: isFullyCollapsed,
hasDrawerTransitions,
};
}, [
handlePageItemClick,
mini,
isFullyExpanded,
isFullyCollapsed,
hasDrawerTransitions,
]);
}, [handlePageItemClick, mini, isFullyExpanded, hasDrawerTransitions]);
return (
<DashboardSidebarContext.Provider value={sidebarContextValue}>