fix: fixed header/footer, no scroll, 100vh layout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Ruslan Bakiev
2026-03-07 12:57:22 +07:00
parent 29d69fb550
commit 43f11a7e40

View File

@@ -12,11 +12,17 @@
background: #0a0a1a; background: #0a0a1a;
color: #e0e0e0; color: #e0e0e0;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
overflow-x: hidden; overflow: hidden;
height: 100vh;
} }
/* Header */ /* Header */
.header { .header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 10;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
@@ -55,12 +61,13 @@
.tab-content { display: none; } .tab-content { display: none; }
.tab-content.active { display: block; } .tab-content.active { display: block; }
/* Camera feeds */ /* Camera feeds (detection tab) */
.cameras { .cameras {
display: flex; display: flex;
gap: 8px; gap: 8px;
padding: 8px; padding: 8px;
justify-content: center; justify-content: center;
height: calc(100vh - 48px);
} }
.cam-box { .cam-box {
flex: 1; flex: 1;
@@ -94,18 +101,24 @@
} }
.viewport-3d canvas { width: 100% !important; height: 100% !important; } .viewport-3d canvas { width: 100% !important; height: 100% !important; }
/* Full-height tab layout: 3D on top, small bottom bar */ /* Full-height tab layout */
.tab-content {
padding-top: 48px;
}
.tab-full { .tab-full {
display: flex; height: calc(100vh - 48px - 100px);
flex-direction: column;
height: calc(100vh - 52px);
} }
.tab-full .viewport-3d { .tab-full .viewport-3d {
flex: 1; width: 100%;
height: auto; height: 100%;
border-top: none; border-top: none;
} }
.bottom-bar { .bottom-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 10;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -114,7 +127,6 @@
background: #0d0d20; background: #0d0d20;
border-top: 1px solid #222; border-top: 1px solid #222;
height: 100px; height: 100px;
flex-shrink: 0;
} }
.bottom-card { .bottom-card {
width: 120px; width: 120px;