"use client"; import { LayoutDashboard, Package, CalendarCheck, CalendarDays, ShoppingBag, Users, Settings, Scissors, LogOut, Home } from "lucide-react"; import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarFooter, SidebarHeader, useSidebar, } from "@/components/ui/sidebar"; import { useAuth } from "@/contexts/AuthContext"; import { useLanguage } from "@/contexts/LanguageContext"; import { Button } from "@/components/ui/button"; import { usePathname, useRouter } from "next/navigation"; import Link from "next/link"; export const AdminSidebar = () => { const { state } = useSidebar(); const collapsed = state === "collapsed"; const { logout } = useAuth(); const { t } = useLanguage(); const route = useRouter(); const pathname = usePathname(); const items = [ { title: t("admin.nav.overview"), url: "/admin", icon: LayoutDashboard, exact: true }, { title: t("admin.nav.products"), url: "/admin/produits", icon: Package }, { title: t("admin.nav.orders"), url: "/admin/commandes", icon: ShoppingBag }, { title: t("admin.nav.bookings"), url: "/admin/reservations", icon: CalendarCheck }, { title: t("admin.nav.planning"), url: "/admin/planning", icon: CalendarDays }, { title: t("admin.nav.services"), url: "/admin/services", icon: Scissors }, { title: t("admin.nav.customers"), url: "/admin/clients", icon: Users }, { title: t("admin.nav.settings"), url: "/admin/parametres", icon: Settings }, ]; const isActive = (item: typeof items[0]) => item.exact ? pathname === item.url : pathname.startsWith(item.url); const handleLogout = () => { logout(); route.push("/admin/login"); }; return ( {!collapsed && (
BADO HAIR
Admin
)}
{t("admin.nav.management")} {items.map((item) => ( {!collapsed && {item.title}} ))} {!collapsed && {t("admin.nav.view_site")}}
); };