"use client"
import Link from "next/link"
import { usePathname } from "next/navigation"
import { motion } from "motion/react"
import { SidebarNavItem } from "@/types/nav"
import { cn } from "@/lib/utils"
export interface DocsSidebarNavProps {
items: SidebarNavItem[]
}
export function DocsSidebarNav({ items }: DocsSidebarNavProps) {
const pathname = usePathname()
return items.length ? (
{items.map((item, index) => (
{item.title}{" "}
{item.title !== "Getting Started"
? `(${item.items?.length})`
: ""}
{item?.items?.length && (
)}
))}
) : null
}
interface NavItemProps {
item: SidebarNavItem
index: number
pathname: string | null
}
function NavItem({ item, index, pathname }: NavItemProps) {
const isActive = pathname === item.href
return (
{item.title}
{item.label && (
{item.label}
)}
)
}
interface DocsSidebarNavItemsProps {
items: SidebarNavItem[]
pathname: string | null
}
export function DocsSidebarNavItems({
items,
pathname,
}: DocsSidebarNavItemsProps) {
return items?.length ? (
{items.map((item, index) => (
))}
) : null
}