import { GlobeSearch } from "@/assets/icons";
import { z } from "zod";
import * as Icons from "../icons";

const navSubItemSchema: z.ZodType<any> = z.lazy(() =>
  z.object({
    title: z.string(),
    url: z.string(),
    icon: z.any(),
    items: z.array(navSubItemSchema),
  }),
);

const navItemSchema = z.object({
  label: z.string(),
  items: z.array(navSubItemSchema),
});

const navDataSchema = z.array(navItemSchema);
export type NavSubItem = z.infer<typeof navSubItemSchema>;
export type NavData = z.infer<typeof navDataSchema>;

export const NAV_DATA: NavData = [
  {
    label: "",
    items: [
      {
        title: "Dashboard",
        url: "/",
        icon: Icons.HomeIcon,
        items: [],
      },
      {
        title: "Admins",
        url: "/admins",
        icon: Icons.User,
        items: [],
      },
      {
        title: "Manage Companies",
        url: "",
        icon: Icons.Building,
        items: [
          {
            icon: Icons.Building,
            url: "/companies",
            title: "Companies",
            items: [],
          },
          {
            icon: Icons.Building,
            url: "/company-categories",
            title: "Company Categories",
            items: [],
          },
        ],
      },
      {
        title: "Customers",
        url: "/customers",
        icon: Icons.User,
        items: [],
      },
      {
        title: "Tenders",
        url: "/tenders",
        icon: Icons.Table,
        items: [],
      },
      {
        title: "Notifications",
        url: "/notification-history",
        icon: Icons.NotificationIcon,
        items: [],
      },
      {
        title: "Contact Us",
        url: "/contact-us",
        icon: Icons.CallIncome,
        items: [],
        visible: true,
      },
      {
        title: "Marketing",
        url: "/marketing",
        icon: GlobeSearch,
        items: [],
      },
      {
        title: "Inquiries",
        url: "/inquiries",
        icon: Icons.BriefcaseTimer,
        items: [],
      },
    ],
  },
];
