import type { ReactNode } from "react"; import Link from "next/link"; import type { LucideIcon } from "lucide-react"; import { ShieldCheck } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { Separator } from "@/components/ui/separator"; import { cn } from "@/lib/utils"; type DashboardSidebarItem = { label: string; href: string; icon: LucideIcon; active?: boolean; children?: DashboardSidebarItem[]; }; type DashboardSidebarProps = { items: DashboardSidebarItem[]; footer?: ReactNode; }; export function DashboardSidebar({ items, footer }: DashboardSidebarProps) { function renderItem(item: DashboardSidebarItem, nested = false) { const Icon = item.icon; return (
{item.label} {item.children?.length ? item.children.map((child) => renderItem(child, true)) : null}
); } return (

Mohs Admin

Website owner workspace

Private panel

Single owner access

Private
{footer ? ( <>
{footer}
) : null}
); }