feat(sidebar): add backdrop for improved sidebar interaction

This commit is contained in:
Supra4E8C
2026-03-17 00:53:14 +08:00
Unverified
parent 6d91cd0c06
commit ffce798ce8
2 changed files with 32 additions and 0 deletions
+9
View File
@@ -759,6 +759,15 @@ export function MainLayout() {
</header>
<div className="main-body">
<button
type="button"
className={`sidebar-backdrop ${sidebarOpen ? 'visible' : ''}`}
onClick={() => setSidebarOpen(false)}
aria-label={t('common.close')}
aria-hidden={!sidebarOpen}
tabIndex={sidebarOpen ? 0 : -1}
/>
<aside
className={`sidebar ${sidebarOpen ? 'open' : ''} ${sidebarCollapsed ? 'collapsed' : ''}`}
>
+23
View File
@@ -442,6 +442,29 @@
}
}
.sidebar-backdrop {
display: none;
border: 0;
padding: 0;
margin: 0;
background: rgb(15 23 42 / 0.18);
opacity: 0;
pointer-events: none;
transition: opacity $transition-fast;
@media (max-width: $breakpoint-mobile) {
display: block;
position: fixed;
inset: var(--header-height) 0 0;
z-index: $z-dropdown - 1;
&.visible {
opacity: 1;
pointer-events: auto;
}
}
}
.sidebar {
width: 240px;
background: var(--bg-primary);