Files
lst/frontend/src/components/navBar/ForkliftSideBar.tsx

95 lines
2.0 KiB
TypeScript

import { Link } from "@tanstack/react-router";
import {
Building2,
Forklift,
Hourglass,
ReceiptText,
Wrench,
} from "lucide-react";
import { userAccess } from "@/lib/authClient";
import {
SidebarGroup,
SidebarGroupContent,
SidebarGroupLabel,
SidebarMenu,
SidebarMenuButton,
SidebarMenuItem,
} from "../ui/sidebar";
import type { Items } from "./SideBarNav";
export default function ForkliftSideBar() {
const items: Items[] = [
{
title: "Lease Companies",
url: "/lst/app/forklifts/companies",
icon: Building2,
role: ["systemAdmin", "admin"],
module: "forklifts",
active: true,
},
{
title: "Leases",
url: "/lst/app/forklifts/leases",
icon: ReceiptText,
role: ["systemAdmin", "admin"],
module: "forklifts",
active: true,
},
{
title: "Invoices",
url: "/lst/app/forklifts/invoices",
icon: ReceiptText,
role: ["systemAdmin", "admin", "manager"],
module: "forklifts",
active: true,
},
{
title: "Repairs",
url: "/lst/app/admin/settings",
icon: Wrench,
role: ["systemAdmin", "admin", "manager"],
module: "forklifts",
active: true,
},
{
title: "Hours",
url: "/lst/app/admin/settings",
icon: Hourglass,
role: ["systemAdmin", "admin", "manager", "supervisor"],
module: "forklifts",
active: true,
},
{
title: "Forklifts",
url: "/lst/app/forklifts/forklifts",
icon: Forklift,
role: ["systemAdmin", "admin", "manager", "supervisor"],
module: "forklifts",
active: true,
},
];
return (
<SidebarGroup>
<SidebarGroupLabel>Forklifts</SidebarGroupLabel>
<SidebarGroupContent>
<SidebarMenu>
{items.map((item) => (
<SidebarMenuItem key={item.title}>
<>
{userAccess(item.module, item.role) && item.active && (
<SidebarMenuButton asChild>
<Link to={item.url}>
<item.icon />
<span>{item.title}</span>
</Link>
</SidebarMenuButton>
)}
</>
</SidebarMenuItem>
))}
</SidebarMenu>
</SidebarGroupContent>
</SidebarGroup>
);
}