"use client" import { SidebarProvider as UiSidebarProvider, useScrollController, } from "docs-ui" import { usePathname } from "next/navigation" import { useCallback, useEffect, useState } from "react" import { Sidebar } from "types" import { getSidebarForPath } from "../utils/get-sidebar-for-path" type SidebarProviderProps = { children?: React.ReactNode } const SidebarProvider = ({ children }: SidebarProviderProps) => { const { scrollableElement } = useScrollController() const [sidebar, setSidebar] = useState() const pathname = usePathname() const loadSidebar = useCallback( async () => getSidebarForPath(pathname), [pathname] ) useEffect(() => { loadSidebar() .then(setSidebar) .catch((error) => { console.error("Error loading sidebar:", error) }) }, [loadSidebar]) return ( {children} ) } export default SidebarProvider