docs: fix sidebar items not showing if they have same title in API reference (#11122)

This commit is contained in:
Shahed Nasser
2025-01-24 18:54:21 +02:00
committed by GitHub
parent dc3a4b5c40
commit 8038a917ee
5 changed files with 19 additions and 20 deletions
@@ -21,6 +21,7 @@ import {
InteractiveSidebarItem,
SidebarItemCategory,
SidebarItemLinkWithParent,
SidebarItemTypes,
} from "types"
import { useIsBrowser } from "../BrowserProvider"
@@ -70,6 +71,7 @@ export const SidebarContext = createContext<SidebarContextType | null>(null)
export type ActionOptionsType = {
section?: SidebarItemSections
parent?: {
type: SidebarItemTypes
path: string
title: string
changeLoaded?: boolean
@@ -106,17 +108,20 @@ export const isSidebarItemLink = (
}
const areItemsEqual = (itemA: SidebarItem, itemB: SidebarItem): boolean => {
if (itemA.type === "separator" || itemB.type === "separator") {
if (
itemA.type === "separator" ||
itemB.type === "separator" ||
itemA.type !== itemB.type
) {
return false
}
const hasSameTitle = itemA.title === itemB.title
const hasSamePath =
isSidebarItemLink(itemA) &&
isSidebarItemLink(itemB) &&
itemA.type === itemB.type &&
!isSidebarItemLink(itemA) ||
!isSidebarItemLink(itemB) ||
itemA.path === itemB.path
return hasSameTitle || hasSamePath
return hasSameTitle && hasSamePath
}
const findItem = (