"use client"; import { useState } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { cn } from "@/lib/utils"; import { Button } from "@/components/ui/button"; import { Badge } from "@/components/ui/badge"; import { Separator } from "@/components/ui/separator"; import Image from "next/image"; import { LayoutDashboard, Users, MessageSquare, CreditCard, Settings, Database, FileText, Shield, Bot, ChevronLeft, ChevronRight, BarChart3, Activity, } from "lucide-react"; interface NavigationItem { name: string; href: string; icon: React.ElementType; badge?: string | null; } const navigation: NavigationItem[] = [ { name: "Vue d'ensemble", href: "/", icon: LayoutDashboard, badge: null, }, { name: "Analytics", href: "/analytics", icon: BarChart3, badge: "Nouveau", }, ]; const dataNavigation: NavigationItem[] = [ { name: "Utilisateurs", href: "/users", icon: Users, badge: null }, { name: "Conversations", href: "/conversations", icon: MessageSquare, badge: null, }, { name: "Messages", href: "/messages", icon: FileText, badge: null }, { name: "Transactions", href: "/transactions", icon: CreditCard, badge: null, }, ]; const systemNavigation: NavigationItem[] = [ { name: "Agents", href: "/agents", icon: Bot, badge: null }, { name: "Rôles", href: "/roles", icon: Shield, badge: null }, { name: "Collections", href: "/collections", icon: Database, badge: null }, { name: "Paramètres", href: "/settings", icon: Settings, badge: null }, ]; export function Sidebar() { const [collapsed, setCollapsed] = useState(false); const pathname = usePathname(); const NavSection = ({ title, items, showTitle = true, }: { title: string; items: NavigationItem[]; showTitle?: boolean; }) => (
Admin Dashboard
Système en ligne
Tout fonctionne