From daa406984533303138bff39a642c5192d25cbf55 Mon Sep 17 00:00:00 2001 From: Hayden Bleasel Date: Fri, 14 Nov 2025 14:44:32 -0800 Subject: [PATCH] Update sidebar.tsx --- apps/docs/components/geistdocs/sidebar.tsx | 74 ++++++++++++++-------- 1 file changed, 49 insertions(+), 25 deletions(-) diff --git a/apps/docs/components/geistdocs/sidebar.tsx b/apps/docs/components/geistdocs/sidebar.tsx index 9f1b533..2d8474f 100644 --- a/apps/docs/components/geistdocs/sidebar.tsx +++ b/apps/docs/components/geistdocs/sidebar.tsx @@ -1,11 +1,5 @@ "use client"; -import { - Collapsible, - CollapsibleContent, - CollapsibleTrigger, -} from "@repo/shadcn-ui/components/ui/collapsible"; -import { cn } from "@repo/shadcn-ui/lib/utils"; import type { Folder as FolderType, Item as ItemType, @@ -15,6 +9,12 @@ import { ChevronRightIcon, ExternalLinkIcon } from "lucide-react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import type { ReactNode } from "react"; +import { + Collapsible, + CollapsibleContent, + CollapsibleTrigger, +} from "@/components/ui/collapsible"; +import { cn } from "@/lib/utils"; type FolderProps = { item: FolderType; @@ -22,26 +22,50 @@ type FolderProps = { children: ReactNode; }; -export const Folder = ({ item, level, children }: FolderProps) => ( - - - {item.index ? ( - - {item.name} - - ) : ( - {item.name} +export const Folder = ({ item, level, children }: FolderProps) => { + const pathname = usePathname(); + const isActive = pathname === item.index?.url; + + const linkInner = item.index ? ( + - - -
    {children}
-
-
-); + href={item.index.url} + > + {item.name} + + ) : ( + {item.name} + ); + + if (!item.children.length) { + return ( +
+ {linkInner} +
+ ); + } + + return ( + + + {linkInner} + + + +
    {children}
+
+
+ ); +}; type ItemProps = { item: ItemType;