11---
2- // TODO instead use declaration file
3- // @ts-ignore
4- import SidebarPersister from ' virtual:starlight/components/SidebarPersister' ;
5- // @ts-ignore
6- import SidebarSublist from ' virtual:starlight/components/SidebarSublist' ;
7- // @ts-ignore
8- import MobileMenuFooter from ' virtual:starlight/components/MobileMenuFooter' ;
9-
10- // Get the current sidebar from Starlight runtime
11- let { sidebar } = (Astro .locals as any ).starlightRoute ;
12-
132const path = Astro .url .pathname ;
143
15- // Filter sidebar items per path
4+ // Get current sidebar from Starlight runtime
5+ let sidebar = Astro .locals .starlightRoute ?.sidebar ?? [];
6+
7+ // Filter items per path
168if (path .startsWith (' /truetech/' )) {
179 sidebar = sidebar .filter ((item : any ) => item .autogenerate ?.directory ?.startsWith (' truetech' ));
1810} else if (path .startsWith (' /gamingforge/' )) {
1911 sidebar = sidebar .filter ((item : any ) => item .autogenerate ?.directory ?.startsWith (' gamingforge' ));
2012} else if (path .startsWith (' /lifeforge/' )) {
2113 sidebar = sidebar .filter ((item : any ) => item .autogenerate ?.directory ?.startsWith (' lifeforge' ));
2214} else {
23- // root or default
2415 sidebar = sidebar .filter ((item : any ) =>
2516 ! item .autogenerate ?.directory ?.includes (' truetech' ) &&
2617 ! item .autogenerate ?.directory ?.includes (' gamingforge' ) &&
@@ -33,6 +24,4 @@ if (path.startsWith('/truetech/')) {
3324 <SidebarSublist sublist ={ sidebar } />
3425</SidebarPersister >
3526
36- <div class =" md:sl-hidden" >
37- <MobileMenuFooter />
38- </div >
27+ <MobileMenuFooter class =" md:sl-hidden" />
0 commit comments