* initial changes * redesign the sidebar + nav drawer * changes to sidebar items * finish up sidebar redesign * support new sidebar in resources * general fixes * integrate in ui * support api reference * refactor * integrate in user guide * docs: fix build errors * fix user guide build * more refactoring * added banner * added bottom logo + icon * fix up sidebar * fix up paddings * fix shadow bottom * docs: add table of content (#8445) * add toc types * implement toc functionality * finished toc redesign * redesigned table of content * mobile fixes * truncate text in toc * mobile fixes * merge fixes * implement redesign * add hide sidebar * add menu action item * finish up hide sidebar design * implement redesign in resources * integrate in api reference * integrate changes in ui * fixes to api reference scrolling * fix build error * fix build errors * fixes * fixes to sidebar * general fixes * fix active category not closing * fix long titles
49 lines
1.0 KiB
TypeScript
49 lines
1.0 KiB
TypeScript
"use client"
|
|
|
|
import {
|
|
formatReportLink,
|
|
getNavDropdownItems,
|
|
MainNavProvider as UiMainNavProvider,
|
|
useIsBrowser,
|
|
} from "docs-ui"
|
|
import { useMemo } from "react"
|
|
import { config } from "../config"
|
|
import { usePathname } from "next/navigation"
|
|
import basePathUrl from "../utils/base-path-url"
|
|
|
|
type MainNavProviderProps = {
|
|
children?: React.ReactNode
|
|
}
|
|
|
|
export const MainNavProvider = ({ children }: MainNavProviderProps) => {
|
|
const isBrowser = useIsBrowser()
|
|
const pathname = usePathname()
|
|
const navigationDropdownItems = useMemo(
|
|
() =>
|
|
getNavDropdownItems({
|
|
basePath: config.baseUrl,
|
|
activePath: basePathUrl(pathname),
|
|
version: "v2",
|
|
}),
|
|
[pathname]
|
|
)
|
|
|
|
const reportLink = useMemo(
|
|
() =>
|
|
formatReportLink(
|
|
config.titleSuffix || "",
|
|
isBrowser ? document.title : ""
|
|
),
|
|
[isBrowser]
|
|
)
|
|
|
|
return (
|
|
<UiMainNavProvider
|
|
navItems={navigationDropdownItems}
|
|
reportIssueLink={reportLink}
|
|
>
|
|
{children}
|
|
</UiMainNavProvider>
|
|
)
|
|
}
|