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 (
);
}