Make the window a fixed shell with no scrollbars

Lock html/body/#root to the viewport and hide scrollbars everywhere; the
content area fills its space instead of scrolling the page, and the logs
stream scrolls within its own pane. Add a min window size so the layout
can't be shrunk below where everything fits.
This commit is contained in:
Anthony
2026-05-27 17:50:27 +02:00
parent f0656b595b
commit 319c97b6bf
3 changed files with 23 additions and 4 deletions
+2
View File
@@ -15,6 +15,8 @@
"title": "TutaBridge", "title": "TutaBridge",
"width": 700, "width": 700,
"height": 520, "height": 520,
"minWidth": 700,
"minHeight": 520,
"resizable": true, "resizable": true,
"center": true "center": true
} }
+12 -2
View File
@@ -79,8 +79,17 @@
/* ── Content ── */ /* ── Content ── */
.app-content { .app-content {
flex: 1; flex: 1;
overflow-y: auto; min-height: 0;
overflow: hidden;
padding: 24px; padding: 24px;
display: flex;
flex-direction: column;
}
/* The single active panel fills the content area. */
.app-content > * {
flex: 1;
min-height: 0;
} }
/* ── Shared ── */ /* ── Shared ── */
@@ -518,7 +527,7 @@ button.small {
max-width: none; max-width: none;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: calc(100vh - 120px); min-height: 0;
} }
.logs-header { .logs-header {
@@ -534,6 +543,7 @@ button.small {
.logs-container { .logs-container {
flex: 1; flex: 1;
min-height: 0;
overflow-y: auto; overflow-y: auto;
background: var(--surface-container); background: var(--surface-container);
border: 1px solid var(--outline-variant); border: 1px solid var(--outline-variant);
+9 -2
View File
@@ -77,14 +77,21 @@
} }
} }
/* App is a fixed shell: no scrollbars anywhere. Scrollable regions (logs)
still scroll via wheel/keys, just without visible bars. */
* { * {
box-sizing: border-box; box-sizing: border-box;
scrollbar-width: none;
} }
body { *::-webkit-scrollbar {
margin: 0; display: none;
} }
html,
body,
#root { #root {
height: 100vh; height: 100vh;
margin: 0;
overflow: hidden;
} }