diff --git a/src/__tests__/DocsSidebar.behavior.test.tsx b/src/__tests__/DocsSidebar.behavior.test.tsx index bfb2e57..9deb60b 100644 --- a/src/__tests__/DocsSidebar.behavior.test.tsx +++ b/src/__tests__/DocsSidebar.behavior.test.tsx @@ -232,6 +232,7 @@ describe("DocsSidebar folder rows", () => { { name: "Placeholder", route: "#" }, { name: "Inner", + route: "/docs/hive/deep/inner", children: [{ name: "Leaf", route: "/docs/hive/deep/inner/leaf" }], }, ], diff --git a/src/components/docs/DocsSidebar.tsx b/src/components/docs/DocsSidebar.tsx index 6550b82..edad33a 100644 --- a/src/components/docs/DocsSidebar.tsx +++ b/src/components/docs/DocsSidebar.tsx @@ -64,9 +64,9 @@ function getFirstChildRoute(item: MenuItem): string | undefined { if (!item.children) return undefined; for (const child of item.children) { if (child.kind === 'Meta' || child.kind === 'Separator') continue; - if (child.route && child.route !== '#') return child.route; - const nested = getFirstChildRoute(child); + const nested = child.children ? getFirstChildRoute(child) : undefined; if (nested) return nested; + if (child.route && child.route !== '#') return child.route; } return undefined; }