Pin sidebar to full viewport height with sticky layout.

Keep logout at the foot while the page content scrolls independently.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-30 10:28:38 +03:30
co-authored by Cursor
parent 4b9345f55a
commit b606e15951
+15 -5
View File
@@ -415,17 +415,19 @@ onUnmounted(() => {
} }
.sidebar { .sidebar {
position: sticky;
top: 0;
align-self: start;
background: #13201b; background: #13201b;
color: #edf5f1; color: #edf5f1;
padding: 1.4rem; padding: 1.4rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 1.1rem; gap: 1.1rem;
min-height: 100vh; height: 100vh;
min-height: 100dvh; height: 100dvh;
max-height: 100vh;
max-height: 100dvh;
overflow: hidden; overflow: hidden;
box-sizing: border-box;
} }
.brand-row { .brand-row {
@@ -643,6 +645,12 @@ nav a.router-link-active {
margin-top: auto; margin-top: auto;
display: grid; display: grid;
gap: 0.65rem; gap: 0.65rem;
flex-shrink: 0;
}
.brand-row,
.drawer-head {
flex-shrink: 0;
} }
.user-line { .user-line {
@@ -917,13 +925,15 @@ nav a.router-link-active {
bottom: 0; bottom: 0;
inset-inline-start: 0; inset-inline-start: 0;
width: min(300px, 86vw); width: min(300px, 86vw);
height: 100vh;
height: 100dvh;
z-index: 35; z-index: 35;
/* پنل RTL است؛ منو از سمت راست می‌آید */ /* پنل RTL است؛ منو از سمت راست می‌آید */
transform: translateX(110%); transform: translateX(110%);
transition: transform 0.2s ease; transition: transform 0.2s ease;
box-shadow: none; box-shadow: none;
padding-top: max(1rem, env(safe-area-inset-top)); padding-top: max(1rem, env(safe-area-inset-top));
overflow-y: auto; overflow: hidden;
} }
.sidebar.open { .sidebar.open {