@@ -259,7 +259,7 @@ export async function fetchSiteContextByIds(
259259 } ;
260260
261261 const sections = ids . siteSection
262- ? parseSiteSectionsAndGroups ( siteStructure , ids . siteSection , ids . siteSpace )
262+ ? parseSiteSectionsAndGroups ( siteStructure , ids . siteSection )
263263 : null ;
264264
265265 // Parse the current siteSpace and siteSpaces based on the site structure type.
@@ -274,9 +274,7 @@ export async function fetchSiteContextByIds(
274274 ) ;
275275 }
276276
277- const visibleSiteSpaces = filterHiddenSiteSpaces ( siteSpaces , ids . siteSpace ) ;
278-
279- return { siteSpaces : visibleSiteSpaces , siteSpace } ;
277+ return { siteSpaces : filterHiddenSiteSpaces ( siteSpaces ) , siteSpace } ;
280278 }
281279
282280 if ( siteStructure . type === 'sections' ) {
@@ -298,7 +296,7 @@ export async function fetchSiteContextByIds(
298296 ) ;
299297 }
300298
301- return { siteSpaces, siteSpace } ;
299+ return { siteSpaces : filterHiddenSiteSpaces ( siteSpaces ) , siteSpace } ;
302300 }
303301
304302 // @ts -expect-error
@@ -432,56 +430,15 @@ export function checkIsRootSiteContext(context: GitBookSiteContext): boolean {
432430/**
433431 * Filter out hidden site spaces from a list of site spaces.
434432 */
435- function filterHiddenSiteSpaces ( siteSpaces : SiteSpace [ ] , currentSiteSpaceId ?: string ) : SiteSpace [ ] {
436- return siteSpaces . filter (
437- ( siteSpace ) => ! siteSpace . hidden || siteSpace . id === currentSiteSpaceId
438- ) ;
439- }
440-
441- /**
442- * Filter out hidden site spaces from sections and groups recursively.
443- */
444- function filterHiddenSiteSpacesFromSections (
445- sections : ( SiteSection | SiteSectionGroup ) [ ] ,
446- currentSiteSpaceId ?: string
447- ) : ( SiteSection | SiteSectionGroup ) [ ] {
448- return sections . map ( ( item ) => {
449- if ( item . object === 'site-section' ) {
450- return {
451- ...item ,
452- siteSpaces : filterHiddenSiteSpaces ( item . siteSpaces , currentSiteSpaceId ) ,
453- } ;
454- }
455- if ( item . object === 'site-section-group' ) {
456- return {
457- ...item ,
458- children : filterHiddenSiteSpacesFromSections ( item . children , currentSiteSpaceId ) ,
459- } ;
460- }
461- return item ;
462- } ) ;
433+ function filterHiddenSiteSpaces ( siteSpaces : SiteSpace [ ] ) : SiteSpace [ ] {
434+ return siteSpaces . filter ( ( siteSpace ) => ! siteSpace . hidden ) ;
463435}
464436
465- function parseSiteSectionsAndGroups (
466- structure : SiteStructure ,
467- siteSectionId : string ,
468- currentSiteSpaceId ?: string
469- ) {
437+ function parseSiteSectionsAndGroups ( structure : SiteStructure , siteSectionId : string ) {
470438 const sectionsAndGroups = getSiteStructureSections ( structure , { ignoreGroups : false } ) ;
471- const filteredSectionsAndGroups = filterHiddenSiteSpacesFromSections (
472- sectionsAndGroups ,
473- currentSiteSpaceId
474- ) ;
475439 const section = parseCurrentSection ( structure , siteSectionId ) ;
476440 assert ( section , `couldn't find section "${ siteSectionId } " in site structure` ) ;
477- const filteredSection = {
478- ...section ,
479- siteSpaces : filterHiddenSiteSpaces ( section . siteSpaces , currentSiteSpaceId ) ,
480- } ;
481- return {
482- list : filteredSectionsAndGroups ,
483- current : filteredSection ,
484- } satisfies SiteSections ;
441+ return { list : sectionsAndGroups , current : section } satisfies SiteSections ;
485442}
486443
487444function parseCurrentSection ( structure : SiteStructure , siteSectionId : string ) {
0 commit comments