import { Calculator, ChevronRight, Coins, CreditCard, Handshake, MonitorSpeaker, Smartphone, UsersRound, Wallet2Icon, } from "lucide-react"; import { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "@/components/ui/collapsible"; import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarRail, } from "@/components/ui/sidebar"; import Link from "next/link"; const data = { navMain: [ { title: "MENU", url: "#", requiredRoles: ["ADMIN", "USER"], items: [ { title: "Devices", url: "/devices", icon: , }, { title: "Payments", url: "/payments", icon: , }, { title: "Parental Control", url: "/parental-control", icon: , }, { title: "Agreements", url: "/agreements", icon: , }, { title: "Wallet", url: "/wallet", icon: , }, ], }, { title: "ADMIN CONTROL", url: "#", requiredRoles: ["ADMIN"], items: [ { title: "Users", url: "/users", icon: , }, { title: "User Devices", url: "/user-devices", icon: , }, { title: "User Payments", url: "/user-payments", icon: , }, { title: "Price Calculator", url: "/price-calculator", icon: , }, ], }, ], }; export function AppSidebar({ role, ...props }: React.ComponentProps & { role: string }) { return (

Sar Link Portal

{data.navMain .filter( (item) => !item.requiredRoles || item.requiredRoles.includes(role || ""), ) .map((item) => { if (item.requiredRoles?.includes(role)) { return ( {item.title}{" "} {item.items.map((item) => ( {item.icon} {item.title} ))} ); } })}
); }