1
0
mirror of git://f0xx.org/android_cast synced 2026-07-29 04:18:09 +03:00

Fix shell full-height layout and landing scroll chrome regressions.

Restore fixed shell/landing-frame sizing from a8ef161 zoom experiment; hide landing page scrollbar while keeping wheel/keyboard/rail nav; constrain graphs main-pane width to stop horizontal overflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Anton Afanasyeu
2026-06-12 21:33:30 +02:00
parent f6080f3306
commit 7bb8ad097f
3 changed files with 38 additions and 28 deletions

View File

@@ -5,19 +5,16 @@
--landing-footer-h: 40px; --landing-footer-h: 40px;
--landing-left-w: 56px; --landing-left-w: 56px;
--landing-rail-w: 44px; --landing-rail-w: 44px;
display: flex;
flex-direction: column;
min-height: 100vh;
min-height: 100dvh;
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
overflow-x: clip; height: 100vh;
overflow-y: auto; height: 100dvh;
overflow: hidden;
} }
/* (1) Top header */ /* (1) Top header */
.landing-top { .landing-top {
position: sticky; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
right: 0; right: 0;
@@ -152,11 +149,11 @@
/* Frame: (2) left + (3) body + space for (4) rail */ /* Frame: (2) left + (3) body + space for (4) rail */
.landing-frame { .landing-frame {
position: relative; position: fixed;
flex: 1 1 auto; top: var(--landing-header-h);
width: 100%; left: 0;
max-width: 100%; right: 0;
min-height: calc(100dvh - var(--landing-header-h) - var(--landing-footer-h)); bottom: var(--landing-footer-h);
display: flex; display: flex;
z-index: 5; z-index: 5;
pointer-events: none; pointer-events: none;
@@ -169,9 +166,8 @@
flex-direction: column; flex-direction: column;
flex: 0 0 var(--landing-left-w); flex: 0 0 var(--landing-left-w);
width: var(--landing-left-w); width: var(--landing-left-w);
align-self: stretch; height: 100%;
min-height: 100%; max-height: 100%;
max-height: none;
overflow: hidden; overflow: hidden;
z-index: 3; z-index: 3;
pointer-events: auto; pointer-events: auto;
@@ -196,15 +192,19 @@
.landing-scroll { .landing-scroll {
flex: 1; flex: 1;
min-width: 0; min-width: 0;
align-self: stretch; height: 100%;
min-height: 100%;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
scroll-snap-type: y mandatory; scroll-snap-type: y mandatory;
scroll-behavior: smooth; scroll-behavior: smooth;
pointer-events: auto; pointer-events: auto;
scrollbar-width: thin; scrollbar-width: none;
scrollbar-color: var(--border) transparent; -ms-overflow-style: none;
}
.landing-scroll::-webkit-scrollbar {
display: none;
width: 0;
height: 0;
} }
.landing-page { .landing-page {

View File

@@ -38,7 +38,7 @@ function hub_h(string $s): string {
<link rel="stylesheet" href="/app/androidcast_project/crashes/assets/css/app.css"> <link rel="stylesheet" href="/app/androidcast_project/crashes/assets/css/app.css">
<link rel="stylesheet" href="hub.css?v=20260610overlay"> <link rel="stylesheet" href="hub.css?v=20260610overlay">
<link rel="stylesheet" href="hub-logo-layers.css?v=20260610overlay"> <link rel="stylesheet" href="hub-logo-layers.css?v=20260610overlay">
<link rel="stylesheet" href="hub-landing.css?v=20260612nav"> <link rel="stylesheet" href="hub-landing.css?v=20260613layout">
<script type="importmap"> <script type="importmap">
{ {
"imports": { "imports": {

View File

@@ -59,21 +59,22 @@ body {
} }
body:has(.shell) { body:has(.shell) {
display: block; display: block;
overflow-x: clip; overflow: hidden;
overflow-y: auto; height: 100vh;
height: auto; height: 100dvh;
min-height: 100vh;
min-height: 100dvh;
} }
a { color: var(--accent); text-decoration: none; } a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; } a:hover { text-decoration: underline; }
.shell { .shell {
display: flex; display: flex;
position: relative; position: fixed;
top: 0;
left: 0;
right: 0;
bottom: var(--footer-h, 40px);
width: 100%; width: 100%;
max-width: 100%; max-width: 100%;
min-height: calc(100dvh - var(--footer-h, 40px)); min-height: 0;
min-height: calc(100vh - var(--footer-h, 40px));
overflow: hidden; overflow: hidden;
z-index: 1; z-index: 1;
} }
@@ -81,7 +82,14 @@ a:hover { text-decoration: underline; }
.shell.shell--graphs-full .main-pane { .shell.shell--graphs-full .main-pane {
max-width: none; max-width: none;
width: 100%; width: 100%;
min-width: 0;
padding: 20px 24px 32px; padding: 20px 24px 32px;
box-sizing: border-box;
}
.shell.shell--graphs-full .graphs-app,
.shell.shell--graphs-full .graphs-grid {
max-width: 100%;
min-width: 0;
} }
.shell.shell--graphs-full .graph-detail-body { .shell.shell--graphs-full .graph-detail-body {
max-width: none; max-width: none;
@@ -532,10 +540,12 @@ a:hover { text-decoration: underline; }
flex: 1 1 auto; flex: 1 1 auto;
min-height: 0; min-height: 0;
min-width: 0; min-width: 0;
max-width: 100%;
height: 100%; height: 100%;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; overflow-y: auto;
padding: 24px 28px; padding: 24px 28px;
box-sizing: border-box;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
} }
body { --footer-h: 40px; } body { --footer-h: 40px; }