import { Divider, IconButton, List, ListItem, ListItemButton, ListItemIcon, ListItemText, } from "@mui/material"; import Image from "next/image"; import { ReactNode } from "react"; import { tw } from "@/utils/tailwind"; import AppsIcon from "@mui/icons-material/Apps"; import BackupIcon from "@mui/icons-material/Backup"; import DashboardIcon from "@mui/icons-material/Dashboard"; import DesignServicesIcon from "@mui/icons-material/DesignServices"; import DevicesIcon from "@mui/icons-material/Devices"; import LanIcon from "@mui/icons-material/Lan"; import Link from "next/link"; import ChevronLeftIcon from "@mui/icons-material/ChevronLeft"; type MenuEntry = { icon: ReactNode; label: string; to: string; disabled: boolean; } & { subMenuEntries?: MenuEntry[]; }; const menuEntries: MenuEntry[] = [ { icon: , label: "Dashoard", to: "/", disabled: false, }, { icon: , label: "Machines", to: "/machines", disabled: false, }, { icon: , label: "Applications", to: "/applications", disabled: true, }, { icon: , label: "Network", to: "/network", disabled: true, }, { icon: , label: "Templates", to: "/templates", disabled: false, }, { icon: , label: "Backups", to: "/backups", disabled: true, }, ]; 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; return ( ); }