"use client"; import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { NavLinks } from "@/components/layout/nav-links"; import { SidebarUtilities } from "@/components/layout/sidebar-utilities"; import { useJobs } from "@/components/layout/jobs-provider"; import { BrandLogo, BrandMark } from "@/components/brand/logo"; import { NAV_GROUPS } from "@/lib/nav"; import { useNotifications } from "@/lib/notifications/use-notifications"; import { setNotificationScope } from "@/lib/notifications/store"; export function Sidebar() { const router = useRouter(); const { unreadCount } = useNotifications(); const { activeJobs } = useJobs(); const badgeCount = unreadCount + activeJobs.length; const [userEmail, setUserEmail] = useState(null); useEffect(() => { fetch("/api/auth/me") .then((res) => (res.ok ? res.json() : null)) .then((data) => { if (data?.user?.id) setNotificationScope(data.user.id); setUserEmail(data?.user?.email ?? null); }) .catch(() => undefined); }, []); async function logout() { await fetch("/api/auth/logout", { method: "POST" }); router.replace("/login"); } return ( ); }