Files
tm_panel/src/components/Layouts/sidebar/data/index.ts
T

99 lines
2.0 KiB
TypeScript

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: [],
visible:false
},
{
title: "Inquiries",
url: "/inquiries",
icon: Icons.BriefcaseTimer,
items: [],
},
],
},
];