diff --git a/packages/commons/fdr-utils/src/traverser.ts b/packages/commons/fdr-utils/src/traverser.ts index 87b6fb82e5..ff71c485ed 100644 --- a/packages/commons/fdr-utils/src/traverser.ts +++ b/packages/commons/fdr-utils/src/traverser.ts @@ -64,6 +64,11 @@ function visitNode( if (traverseState.next != null) { return traverseState; } + } else if (page.type === "section") { + traverseState = visitNode(page, slug, traverseState, sectionTitleBreadcrumbs); + if (traverseState.next != null) { + return traverseState; + } } } diff --git a/packages/commons/fdr-utils/src/visitSidebarNode.ts b/packages/commons/fdr-utils/src/visitSidebarNode.ts index 0c11949cce..57bcb3bf82 100644 --- a/packages/commons/fdr-utils/src/visitSidebarNode.ts +++ b/packages/commons/fdr-utils/src/visitSidebarNode.ts @@ -10,7 +10,7 @@ export function visitSidebarNode( visitDiscriminatedUnion(node, "type")._visit({ pageGroup: (pageGroup) => { pageGroup.pages.forEach((page) => { - if (SidebarNode.isPage(page)) { + if (page.type !== "link") { visit(page, [...parentNodes, pageGroup]); } }); diff --git a/packages/commons/fdr-utils/src/visitSidebarNodeRaw.ts b/packages/commons/fdr-utils/src/visitSidebarNodeRaw.ts index 8f37e1e2ca..826a039e12 100644 --- a/packages/commons/fdr-utils/src/visitSidebarNodeRaw.ts +++ b/packages/commons/fdr-utils/src/visitSidebarNodeRaw.ts @@ -10,21 +10,18 @@ export function visitSidebarNodeRaw( visitDiscriminatedUnion(node, "type")._visit({ pageGroup: (pageGroup) => { pageGroup.pages.forEach((page) => { - if (SidebarNodeRaw.isPage(page)) { - visit(page, [...parentNodes, pageGroup]); + if (page.type !== "link") { + // pageGroup is a psuedo-node that should not be considered as a parent + visitSidebarNodeRaw(page, visit, parentNodes); } }); }, apiSection: (apiSection) => { apiSection.items.forEach((item) => { - if (SidebarNodeRaw.isSubpackageSection(item)) { - visitSidebarNodeRaw(item, visit, [...parentNodes, apiSection]); - } else { - visit(item, [...parentNodes, apiSection]); - } + visitSidebarNodeRaw(item, visit, [...parentNodes, apiSection]); }); if (apiSection.changelog) { - visit(apiSection.changelog, [...parentNodes, apiSection]); + visitSidebarNodeRaw(apiSection.changelog, visit, [...parentNodes, apiSection]); } }, section: (section) => { diff --git a/packages/ui/docs-bundle/src/utils/getDocsPageProps.ts b/packages/ui/docs-bundle/src/utils/getDocsPageProps.ts index 105547a128..9b76971e1f 100644 --- a/packages/ui/docs-bundle/src/utils/getDocsPageProps.ts +++ b/packages/ui/docs-bundle/src/utils/getDocsPageProps.ts @@ -2,9 +2,9 @@ import { DocsV2Read, FdrClient } from "@fern-api/fdr-sdk"; import { FernVenusApi, FernVenusApiClient } from "@fern-api/venus-api-sdk"; import { buildUrl, getNavigationRoot } from "@fern-ui/fdr-utils"; import { - convertNavigatableToResolvedPath, DocsPage, DocsPageResult, + convertNavigatableToResolvedPath, serializeSidebarNodeDescriptionMdx, } from "@fern-ui/ui"; import { jwtVerify } from "jose";