"use client"; import { BookText, FolderTree, Image as ImageIcon, LogOut, Users } from "lucide-react"; import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import { useEffect, useState } from "react"; import { api } from "@/lib/api/client"; import { cn } from "@/lib/utils"; export function AppSidebar() { const pathname = usePathname(); const router = useRouter(); const segs = pathname.split("/").filter(Boolean); // ["trees", "", ...] const treeId = segs[0] === "trees" && segs[1] ? segs[1] : null; const [treeName, setTreeName] = useState(null); useEffect(() => { if (!treeId) { setTreeName(null); return; } api .GET("/api/v1/trees/{tree_id}", { params: { path: { tree_id: treeId } } }) .then((r) => setTreeName(r.data?.name ?? null)); }, [treeId]); async function logout() { await api.POST("/api/v1/auth/logout"); router.push("/login"); } const Item = ({ href, label, icon: Icon, active, }: { href: string; label: string; icon: typeof Users; active: boolean; }) => ( {label} ); return ( ); }