Skip to content

Commit 74d48f5

Browse files
committed
Prevent the real sidebar position from becoming unsynced from the JS
This way, whatever behavior the browser might use for checkboxes will apply to the CSS class, localStorage, and the visible state.
1 parent 0b51a74 commit 74d48f5

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

src/theme/book.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -449,6 +449,7 @@ function playground_text(playground, hidden = true) {
449449
var sidebar = document.getElementById("sidebar");
450450
var sidebarLinks = document.querySelectorAll('#sidebar a');
451451
var sidebarToggleButton = document.getElementById("sidebar-toggle");
452+
var sidebarToggleAnchor = document.getElementById("sidebar-toggle-anchor");
452453
var sidebarResizeHandle = document.getElementById("sidebar-resize-handle");
453454
var firstContact = null;
454455

@@ -475,22 +476,16 @@ function playground_text(playground, hidden = true) {
475476
}
476477

477478
// Toggle sidebar
478-
sidebarToggleButton.addEventListener('click', function sidebarToggle() {
479-
if (body.classList.contains("sidebar-hidden")) {
479+
sidebarToggleAnchor.addEventListener('change', function sidebarToggle() {
480+
if (sidebarToggleAnchor.checked) {
480481
var current_width = parseInt(
481482
document.documentElement.style.getPropertyValue('--sidebar-width'), 10);
482483
if (current_width < 150) {
483484
document.documentElement.style.setProperty('--sidebar-width', '150px');
484485
}
485486
showSidebar();
486-
} else if (body.classList.contains("sidebar-visible")) {
487-
hideSidebar();
488487
} else {
489-
if (getComputedStyle(sidebar)['transform'] === 'none') {
490-
hideSidebar();
491-
} else {
492-
showSidebar();
493-
}
488+
hideSidebar();
494489
}
495490
});
496491

0 commit comments

Comments
 (0)