import {
Divider,
IconButton,
List,
ListItem,
ListItemButton,
ListItemIcon,
ListItemText,
} from "@mui/material";
import Image from "next/image";
import React, { ReactNode } from "react";
import { tw } from "@/utils/tailwind";
import Link from "next/link";
import ChevronLeftIcon from "@mui/icons-material/ChevronLeft";
import HomeIcon from "@mui/icons-material/Home";
import HubIcon from "@mui/icons-material/Hub";
import PersonIcon from "@mui/icons-material/Person";
import RouterIcon from "@mui/icons-material/Router";
import StorageIcon from "@mui/icons-material/Storage";
type MenuEntry = {
icon: ReactNode;
label: string;
to: string;
disabled: boolean;
} & {
subMenuEntries?: MenuEntry[];
};
const menuEntries: MenuEntry[] = [
{
icon: ,
label: "Home",
to: "/",
disabled: false,
},
{
icon: ,
label: "Entities",
to: "/entities",
disabled: true,
},
{
icon: ,
label: "C1",
to: "/client-1",
disabled: false,
},
{
icon: ,
label: "C2",
to: "/client-2",
disabled: false,
},
{
icon: ,
label: "AP",
to: "/access-point",
disabled: false,
},
{
icon: ,
label: "DLG",
to: "/distributed-ledger-gateway",
disabled: false,
},
];
const hideSidebar = tw`-translate-x-14 lg:-translate-x-64`;
const showSidebar = tw`lg:translate-x-0`;
interface SidebarProps {
show: boolean;
onClose: () => void;
}
export function Sidebar(props: SidebarProps) {
const { show, onClose } = props;
const [activeMenuItem, setActiveMenuItem] = React.useState("/");
const handleMenuItemClick = (path: string) => {
setActiveMenuItem(path);
};
return (
);
}