diff --git a/apps/docs/app/openapi.json/route.ts b/apps/docs/app/openapi.json/route.ts new file mode 100644 index 00000000000..b668de90a90 --- /dev/null +++ b/apps/docs/app/openapi.json/route.ts @@ -0,0 +1,11 @@ +import { createOpenApiDownloadDocument } from '@/lib/openapi-download' + +export const revalidate = false + +export function GET() { + return Response.json(createOpenApiDownloadDocument(), { + headers: { + 'Content-Disposition': 'attachment; filename="sim-openapi-v2.json"', + }, + }) +} diff --git a/apps/docs/components/docs-layout/sidebar-components.tsx b/apps/docs/components/docs-layout/sidebar-components.tsx index a899be3a730..2e4112f69f4 100644 --- a/apps/docs/components/docs-layout/sidebar-components.tsx +++ b/apps/docs/components/docs-layout/sidebar-components.tsx @@ -69,23 +69,12 @@ export function SidebarItem({ item }: { item: Item }) { ) } -function isApiReferenceFolder(node: Folder): boolean { - if (node.index?.url.includes('/api-reference/')) return true - for (const child of node.children) { - if (child.type === 'page' && child.url.includes('/api-reference/')) return true - if (child.type === 'folder' && isApiReferenceFolder(child)) return true - } - return false -} - export function SidebarFolder({ item, children }: { item: Folder; children: ReactNode }) { const pathname = usePathname() const { prefetch } = useSidebar() const hasActiveChild = checkHasActiveChild(item, pathname) - const isApiRef = isApiReferenceFolder(item) - const isOnApiRefPage = pathname.startsWith('/api-reference') const hasChildren = item.children.length > 0 - const defaultOpen = hasActiveChild || (isApiRef && isOnApiRefPage) + const defaultOpen = hasActiveChild const [manualOpen, setManualOpen] = useState<{ pathname: string; open: boolean } | null>(null) const open = manualOpen?.pathname === pathname ? manualOpen.open : defaultOpen const toggleOpen = () => setManualOpen({ pathname, open: !open }) @@ -131,6 +120,7 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac chipHoverSurfaceClass )} aria-label={open ? 'Collapse' : 'Expand'} + aria-expanded={open} > @@ -139,6 +129,7 @@ export function SidebarFolder({ item, children }: { item: Folder; children: Reac ) : (