import {
AlignJustify,
Atom,
Logs,
Minus,
Plus,
Server,
Settings,
ShieldCheck,
Users,
Webhook,
} from "lucide-react";
import {
SidebarGroup,
SidebarGroupContent,
SidebarGroupLabel,
SidebarMenu,
SidebarMenuButton,
SidebarMenuItem,
SidebarMenuSub,
SidebarMenuSubButton,
SidebarMenuSubItem,
} from "../../ui/sidebar";
import {
Collapsible,
CollapsibleContent,
CollapsibleTrigger,
} from "../../ui/collapsible";
import { useSubModuleStore } from "@/lib/store/useSubModuleStore";
import { useSettingStore } from "@/lib/store/useSettings";
const iconMap: any = {
ShieldCheck: ShieldCheck,
AlignJustify: AlignJustify,
Settings: Settings,
Atom: Atom,
Logs: Logs,
Users: Users,
Webhook: Webhook,
Server: Server,
};
export function AdminSideBar() {
const { subModules } = useSubModuleStore();
const { settings } = useSettingStore();
const plantToken = settings.filter((n) => n.name === "plantToken");
const items = subModules.filter((m) => m.moduleName === "admin");
return (
Admin section
{items.map((item: any, index) => {
const Icon = iconMap[item.icon] || AlignJustify;
// drop down menu setup
return (
{item.link === "#" ? (
{item.name}{" "}
{item.subSubModule?.length > 0 ? (
{item.subSubModule.map(
(i: any) => {
const SubIcon =
iconMap[
i.icon
] ||
AlignJustify;
return (
{i.isActive && (
{
i.name
}
)}
);
}
)}
) : null}
) : (
{items.map((item) => {
if (item.link === "#") return;
return (
{item.name}
);
})}
)}
);
})}
);
}
{
/*
{data.navMain.map((item, index) => (
{item.title}{" "}
{item.items?.length ? (
{item.items.map((item) => (
{item.isActive && (
{item.title}
)}
))}
) : null}
))}
{items.map((item) => (
{item.title}
))}
*/
}