Skip to content

Commit 9ffa03b

Browse files
committed
Refine sidebar darken boundaries
1 parent 37dbcfd commit 9ffa03b

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

ui/src/components/Sidebar.astro

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ const categoryOrder = ["syntax", "data_structures", "classes", "advanced"];
357357

358358

359359

360-
:global(html:not(.sidebar-collapsed)) .sidebar-backdrop {
360+
:global(html.sidebar-mobile-open) .sidebar-backdrop {
361361
display: block;
362362
position: fixed;
363363
top: 0;
@@ -468,13 +468,22 @@ const categoryOrder = ["syntax", "data_structures", "classes", "advanced"];
468468
const closeSidebar = () => {
469469
document.documentElement.classList.add('sidebar-transitioning');
470470
document.documentElement.classList.add('sidebar-collapsed');
471+
document.documentElement.classList.remove('sidebar-mobile-open');
471472
localStorage.setItem('sidebar-collapsed', 'true');
472473
};
473474

474475
toggleBtn.addEventListener('click', () => {
475476
document.documentElement.classList.add('sidebar-transitioning');
476477
const collapsed = document.documentElement.classList.toggle('sidebar-collapsed');
477478
localStorage.setItem('sidebar-collapsed', String(collapsed));
479+
// Show/hide mobile backdrop only on explicit user toggle
480+
if (window.innerWidth < 900) {
481+
if (collapsed) {
482+
document.documentElement.classList.remove('sidebar-mobile-open');
483+
} else {
484+
document.documentElement.classList.add('sidebar-mobile-open');
485+
}
486+
}
478487
});
479488

480489
if (backdrop) {
@@ -500,9 +509,11 @@ const categoryOrder = ["syntax", "data_structures", "classes", "advanced"];
500509

501510
if (wasDesktop && isMobile) {
502511
document.documentElement.classList.add('sidebar-collapsed');
512+
document.documentElement.classList.remove('sidebar-mobile-open');
503513
} else if (!wasDesktop && !isMobile) {
504514
// Always expand the sidebar on desktop width and save state
505515
document.documentElement.classList.remove('sidebar-collapsed');
516+
document.documentElement.classList.remove('sidebar-mobile-open');
506517
localStorage.setItem('sidebar-collapsed', 'false');
507518
}
508519
lastWidth = currentWidth;

0 commit comments

Comments
 (0)