import { useState } from "react"; import { NavLink } from "react-router-dom"; import { ArrowLeft, ChevronLeft, ChevronRight, ClipboardList, Landmark, Menu, ReceiptText, Settings, UserCircle2, Users, Wallet, X, } from "lucide-react"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; import { GlobalFunctions } from "@/GlobalFunctions"; import { useAuthAccess } from "@/contexts/AuthAccessContext"; const navItems = [ { section: "Fechamento", title: "Gerenciar Fechamentos", path: "", icon: ClipboardList, roles: ["admin"] as const, }, { section: "Fechamento", title: "Banco de Pontos", path: "banco-pontos", icon: Landmark, roles: ["admin"] as const, }, { section: "Fechamento", title: "Meu Fechamento", path: "meu-fechamento", icon: ReceiptText, roles: ["admin", "parceiro"] as const, }, { section: "Configurações", title: "Parceiros", path: "parceiros", icon: Wallet, roles: ["admin"] as const, }, { section: "Configurações", title: "Usuários", path: "usuarios", icon: Users, roles: ["admin"] as const, }, { section: "Configurações", title: "Configurações", path: "configuracoes", icon: Settings, roles: ["admin"] as const, }, { section: "Configurações", title: "Meu Perfil", path: "meu-perfil", icon: UserCircle2, roles: ["admin", "parceiro"] as const, }, ]; export function AppSidebar() { const { papel } = useAuthAccess(); const [collapsed, setCollapsed] = useState(false); const [mobileOpen, setMobileOpen] = useState(false); const isAdmin = papel === "admin"; const role = papel ?? "parceiro"; const allowedNavItems = navItems.filter((item) => item.roles.includes(role)); const sections = ["Fechamento", "Configurações"] as const; const SidebarContent = () => ( <>
{isAdmin ? "Painel Admin" : "Painel Parceiro"}