docs: add prepare script to generate sidebar (#11894)

This commit is contained in:
Shahed Nasser
2025-03-18 17:37:51 +02:00
committed by GitHub
parent eb2aa8da3c
commit 9ead47c51e
72 changed files with 1709 additions and 295 deletions
+14 -7
View File
@@ -1,27 +1,30 @@
"use client"
import type { Area } from "@/types/openapi"
import { capitalize, usePrevious, useSearch } from "docs-ui"
import type { OpenAPI } from "types"
import { capitalize, usePrevious, useSearch, useSidebar } from "docs-ui"
import { createContext, useContext, useEffect, useMemo, useState } from "react"
import { usePathname } from "next/navigation"
type AreaContextType = {
area: Area
prevArea: Area | undefined
area: OpenAPI.Area
prevArea: OpenAPI.Area | undefined
displayedArea: string
setArea: (value: Area) => void
setArea: (value: OpenAPI.Area) => void
}
const AreaContext = createContext<AreaContextType | null>(null)
type AreaProviderProps = {
area: Area
area: OpenAPI.Area
children: React.ReactNode
}
const AreaProvider = ({ area: passedArea, children }: AreaProviderProps) => {
const [area, setArea] = useState<Area>(passedArea)
const [area, setArea] = useState<OpenAPI.Area>(passedArea)
const prevArea = usePrevious(area)
const { defaultFilters, setDefaultFilters } = useSearch()
const { setActivePath } = useSidebar()
const pathname = usePathname()
const displayedArea = useMemo(() => {
return capitalize(area)
@@ -33,6 +36,10 @@ const AreaProvider = ({ area: passedArea, children }: AreaProviderProps) => {
}
}, [area, defaultFilters, setDefaultFilters])
useEffect(() => {
setActivePath(null)
}, [pathname])
return (
<AreaContext.Provider
value={{