- Improve scroll behavior between active sections - Improve lag when clicking on a sidebar item - Refactor internal working of the `SidebarProvider` to find active items faster. - Use Next.js's `useRouter` hook for changing the hash (since they added the option to disable scroll) - Change `isBrowser` from a hook to a provider since it's widely used across applications. - Other general improvements and fixes. Closes DOCS-952
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
"use client"
|
|
|
|
import {
|
|
AnalyticsProvider,
|
|
PageLoadingProvider,
|
|
ScrollControllerProvider,
|
|
SiteConfigProvider,
|
|
} from "docs-ui"
|
|
import BaseSpecsProvider from "./base-specs"
|
|
import SidebarProvider from "./sidebar"
|
|
import SearchProvider from "./search"
|
|
import { config } from "../config"
|
|
import { MainNavProvider } from "./main-nav"
|
|
|
|
type ProvidersProps = {
|
|
children?: React.ReactNode
|
|
}
|
|
|
|
const Providers = ({ children }: ProvidersProps) => {
|
|
return (
|
|
<AnalyticsProvider writeKey={process.env.NEXT_PUBLIC_SEGMENT_API_KEY}>
|
|
<SiteConfigProvider config={config}>
|
|
<PageLoadingProvider>
|
|
<BaseSpecsProvider>
|
|
<ScrollControllerProvider scrollableSelector="#main">
|
|
<SidebarProvider>
|
|
<MainNavProvider>
|
|
<SearchProvider>{children}</SearchProvider>
|
|
</MainNavProvider>
|
|
</SidebarProvider>
|
|
</ScrollControllerProvider>
|
|
</BaseSpecsProvider>
|
|
</PageLoadingProvider>
|
|
</SiteConfigProvider>
|
|
</AnalyticsProvider>
|
|
)
|
|
}
|
|
|
|
export default Providers
|