import {
  LayoutDashboard,
  Store,
  Users,
  ClipboardList,
  UserPlus,
  Truck,
  ShieldCheck,
  Sparkles,
  Eye,
  FileBarChart2,
} from "lucide-react";
import { ROLE_LABELS } from "@/lib/constants";

export interface NavItem {
  label: string;
  href: string;
  icon: React.ReactNode;
  locked?: boolean;
}

export interface NavGroup {
  title: string;
  items: NavItem[];
}

export function getNavGroups(role: string): NavGroup[] {
  if (role === "owner") {
    return [
      {
        title: "Main",
        items: [
          { label: "Dashboard", href: "/owner/dashboard", icon: <LayoutDashboard className="size-4" /> },
        ],
      },
      {
        title: "Transaksi",
        items: [
          { label: "Daftar Order", href: "/owner/order", icon: <Eye className="size-4" /> },
          { label: "Laporan", href: "/owner/report", icon: <FileBarChart2 className="size-4" /> },
        ],
      },
      {
        title: "Master Data",
        items: [
          { label: "Manajemen Cabang", href: "/owner/branch", icon: <Store className="size-4" /> },
          { label: "Manajemen Layanan", href: "/owner/service", icon: <Sparkles className="size-4" /> },
          { label: "User Internal", href: "/owner/users", icon: <Users className="size-4" /> },
        ],
      },
      {
        title: "Locked",
        items: [
          { label: ROLE_LABELS.super_admin, href: "#", icon: <ShieldCheck className="size-4" />, locked: true },
          { label: "Driver Panel", href: "#", icon: <Truck className="size-4" />, locked: true },
          { label: "Customer Portal", href: "#", icon: <UserPlus className="size-4" />, locked: true },
        ],
      },
    ];
  }

  if (role === "admin_laundry") {
    return [
      {
        title: "Main",
        items: [
          { label: "Dashboard", href: "/admin/dashboard", icon: <LayoutDashboard className="size-4" /> },
        ],
      },
      {
        title: "Transaksi",
        items: [
          { label: "Manajemen Order", href: "/admin/order", icon: <ClipboardList className="size-4" /> },
        ],
      },
      {
        title: "Master Data",
        items: [
          { label: "Manajemen Customer", href: "/admin/customer", icon: <Users className="size-4" /> },
          { label: "Manajemen Layanan", href: "/admin/service", icon: <Sparkles className="size-4" /> },
        ],
      },
      {
        title: "Locked",
        items: [
          { label: ROLE_LABELS.super_admin, href: "#", icon: <ShieldCheck className="size-4" />, locked: true },
          { label: "Driver Panel", href: "#", icon: <Truck className="size-4" />, locked: true },
          { label: "Customer Portal", href: "#", icon: <UserPlus className="size-4" />, locked: true },
        ],
      },
    ];
  }

  return [];
}
