Skip to content

Commit 44c4260

Browse files
committed
chore(sidebar): Clean up should load syntax
1 parent 272cb16 commit 44c4260

File tree

1 file changed

+52
-48
lines changed
  • docusaurus-theme/src/theme/DocSidebar

1 file changed

+52
-48
lines changed

docusaurus-theme/src/theme/DocSidebar/index.tsx

Lines changed: 52 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -296,57 +296,61 @@ function DocSidebar({
296296
useDocStateContext();
297297
const windowSize = useWindowSize();
298298

299-
useLockBodyScroll(mobileSidebarOpen);
299+
const shouldLoadSidebar =
300+
windowSize === windowSizes.mobile && mobileSidebarLoaded;
300301

301-
if (windowSize === windowSizes.mobile && !mobileSidebarLoaded)
302-
return <div></div>;
302+
useLockBodyScroll(mobileSidebarOpen);
303303

304304
return (
305-
<aside
306-
{...props}
307-
className={clsx(styles.sidebar, {
308-
[props.className]: Boolean(props.className),
309-
[styles.sidebarHidden]: isHidden,
310-
})}
311-
>
312-
<nav
313-
className={clsx(
314-
'menu',
315-
'menu--responsive',
316-
'thin-scrollbar',
317-
styles.menu,
318-
{
319-
'menu--show': mobileSidebarOpen,
320-
[styles.menuWithAnnouncementBar]:
321-
!isAnnouncementBarClosed && showAnnouncementBar,
322-
},
323-
)}
324-
aria-label={translate({
325-
id: 'theme.docs.sidebar.navAriaLabel',
326-
message: 'Sidebar navigation',
327-
description: 'The ARIA label for documentation menu',
328-
})}
329-
>
330-
<div className={clsx(styles.sidebarStart, 'doc-sidebar__start')}>
331-
<Link to={homePath}>
332-
<Logo tabIndex={-1} className={styles.sidebarLogo} />
333-
</Link>
334-
<VersionSelector />
335-
</div>
336-
<div className={clsx(styles.sidebarEnd, 'doc-sidebar__end')}>
337-
<FrameworkSelector className={styles.frameworkSelector} />
338-
<ul className={clsx('menu__list', styles.menuList)}>
339-
<DocSidebarItems
340-
items={sidebar}
341-
onItemClick={() => setMobileSidebarOpen(false)}
342-
collapsible={sidebarCollapsible}
343-
activePath={path}
344-
/>
345-
</ul>
346-
</div>
347-
</nav>
348-
{hideableSidebar && <HideableSidebarButton onClick={onCollapse} />}
349-
</aside>
305+
<>
306+
{shouldLoadSidebar && (
307+
<aside
308+
{...props}
309+
className={clsx(styles.sidebar, {
310+
[props.className]: Boolean(props.className),
311+
[styles.sidebarHidden]: isHidden,
312+
})}
313+
>
314+
<nav
315+
className={clsx(
316+
'menu',
317+
'menu--responsive',
318+
'thin-scrollbar',
319+
styles.menu,
320+
{
321+
'menu--show': mobileSidebarOpen,
322+
[styles.menuWithAnnouncementBar]:
323+
!isAnnouncementBarClosed && showAnnouncementBar,
324+
},
325+
)}
326+
aria-label={translate({
327+
id: 'theme.docs.sidebar.navAriaLabel',
328+
message: 'Sidebar navigation',
329+
description: 'The ARIA label for documentation menu',
330+
})}
331+
>
332+
<div className={clsx(styles.sidebarStart, 'doc-sidebar__start')}>
333+
<Link to={homePath}>
334+
<Logo tabIndex={-1} className={styles.sidebarLogo} />
335+
</Link>
336+
<VersionSelector />
337+
</div>
338+
<div className={clsx(styles.sidebarEnd, 'doc-sidebar__end')}>
339+
<FrameworkSelector className={styles.frameworkSelector} />
340+
<ul className={clsx('menu__list', styles.menuList)}>
341+
<DocSidebarItems
342+
items={sidebar}
343+
onItemClick={() => setMobileSidebarOpen(false)}
344+
collapsible={sidebarCollapsible}
345+
activePath={path}
346+
/>
347+
</ul>
348+
</div>
349+
</nav>
350+
{hideableSidebar && <HideableSidebarButton onClick={onCollapse} />}
351+
</aside>
352+
)}
353+
</>
350354
);
351355
}
352356

0 commit comments

Comments
 (0)