Skip to content

Commit 2902c6d

Browse files
authored
Automatically close the sidebar when navigating sections on mobile (#2097)
1 parent 0ab3d49 commit 2902c6d

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

assets/js/sidebar/sidebar-drawer.js

+12
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ if (!isEmbedded) {
5151
// We observe on mousedown because we only care about user resize.
5252
sidebar.addEventListener('mousedown', () => resizeObserver.observe(sidebar))
5353
sidebar.addEventListener('mouseup', () => resizeObserver.unobserve(sidebar))
54+
55+
window.addEventListener('hashchange', maybeCloseSidebarOnNavigate)
5456
}
5557

5658
function setDefaultSidebarState () {
@@ -114,3 +116,13 @@ function transitionSidebar (open) {
114116
export function openSidebar () {
115117
return transitionSidebar(true)
116118
}
119+
120+
/**
121+
* Closes the sidebar on small screens when navigating between sections
122+
* on the page, for consistency with full page transitions
123+
*/
124+
function maybeCloseSidebarOnNavigate () {
125+
if (smallScreenQuery.matches && isSidebarOpen()) {
126+
transitionSidebar(false)
127+
}
128+
}

0 commit comments

Comments
 (0)