"use client"; import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import { LayoutDashboard, FileText, Users, Tags, Heart, Bell, Settings, Landmark, LogOut, X, } from "lucide-react"; import { useQueryClient } from "@tanstack/react-query"; import { cn } from "@/lib/utils"; import { ThemeToggle } from "./ThemeToggle"; import { useAuthStore } from "@/stores/authStore"; const NAV = [ { href: "/", label: "Dashboard", icon: LayoutDashboard, adminOnly: false, requiresAuth: false }, { href: "/bills", label: "Bills", icon: FileText, adminOnly: false, requiresAuth: false }, { href: "/members", label: "Members", icon: Users, adminOnly: false, requiresAuth: false }, { href: "/topics", label: "Topics", icon: Tags, adminOnly: false, requiresAuth: false }, { href: "/following", label: "Following", icon: Heart, adminOnly: false, requiresAuth: true }, { href: "/notifications", label: "Notifications", icon: Bell, adminOnly: false, requiresAuth: true }, { href: "/settings", label: "Admin", icon: Settings, adminOnly: true, requiresAuth: false }, ]; export function Sidebar({ onClose }: { onClose?: () => void }) { const pathname = usePathname(); const router = useRouter(); const qc = useQueryClient(); const user = useAuthStore((s) => s.user); const token = useAuthStore((s) => s.token); const logout = useAuthStore((s) => s.logout); function handleLogout() { logout(); qc.clear(); router.replace("/login"); } return ( ); }