fix(docs): fix sidebar item visibility bug for category index (#10754)

This commit is contained in:
Sébastien Lorber 2024-12-10 13:06:21 +01:00 committed by GitHub
parent 4966dce36e
commit 91c0b5bf35
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 50 additions and 1 deletions

View file

@ -440,6 +440,7 @@ describe('isVisibleSidebarItem', () => {
it('works with category', () => {
const subCategoryAllUnlisted = testCategory({
href: '/sub-category-path',
linkUnlisted: true,
items: [
{
type: 'link',
@ -455,6 +456,7 @@ describe('isVisibleSidebarItem', () => {
},
testCategory({
href: '/sub-sub-category-path',
linkUnlisted: true,
items: [
{
type: 'link',
@ -500,6 +502,22 @@ describe('isVisibleSidebarItem', () => {
expect(
isVisibleSidebarItem(categorySomeUnlisted, categorySomeUnlisted.href!),
).toBe(true);
const categoryOnlyIndexListed = testCategory({
href: '/category-only-index-listed',
items: [
{
type: 'link',
href: '/sub-link-path',
label: 'Label',
unlisted: true,
},
subCategoryAllUnlisted,
],
});
expect(
isVisibleSidebarItem(categoryOnlyIndexListed, '/nonexistentPath'),
).toBe(true);
});
});

View file

@ -168,6 +168,7 @@ export function isVisibleSidebarItem(
case 'category':
return (
isActiveSidebarItem(item, activePath) ||
(typeof item.href !== 'undefined' && !item.linkUnlisted) ||
item.items.some((subItem) => isVisibleSidebarItem(subItem, activePath))
);
case 'link':

View file

@ -0,0 +1,14 @@
---
unlisted: false
tags: [visibility, unlisted]
---
# Subcategory index listed
Doc index, **listed**, but all the other category items are unlisted
```mdx-code-block
import DocCardList from '@theme/DocCardList';
<DocCardList />
```

View file

@ -0,0 +1,8 @@
---
unlisted: true
tags: [visibility, unlisted]
---
# Unlisted 1
Doc with unlisted front matter

View file

@ -0,0 +1,8 @@
---
unlisted: true
tags: [visibility, unlisted]
---
# Unlisted 2
Doc with unlisted front matter

View file

@ -3,7 +3,7 @@ unlisted: true
tags: [visibility, unlisted]
---
# Some Unlisteds - Subcategory index unlisted
# Subcategory index unlisted
Doc with unlisted front matter