Skip to content

Commit 56bfdfd

Browse files
authored
fix: stabilize dashboard responsive layout
Merged by MergeOS maintainer after CI, visual evidence, and code review. Linked bounty issue remains open for tracking and payout review.
1 parent 45e8bad commit 56bfdfd

1 file changed

Lines changed: 48 additions & 1 deletion

File tree

frontend/src/styles.css

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5074,12 +5074,14 @@ svg {
50745074
}
50755075

50765076
.dashboard-shell {
5077+
/* FIX #16: base dashboard layout */
50775078
min-width: 0;
50785079
min-height: 100vh;
50795080
display: grid;
50805081
grid-template-columns: 188px minmax(0, 1fr);
50815082
background: #fbfcfb;
50825083
overflow-x: hidden;
5084+
overflow-y: auto;
50835085
}
50845086

50855087
.dashboard-toast {
@@ -5217,11 +5219,16 @@ svg {
52175219
}
52185220

52195221
.dash-workspace {
5222+
/* FIX #16: contain sticky topbar + content scrolling */
52205223
min-width: 0;
52215224
max-width: 100%;
5225+
display: flex;
5226+
flex-direction: column;
5227+
overflow: hidden;
52225228
}
52235229

52245230
.dash-topbar {
5231+
/* FIX #16: sticky topbar with proper flex shrink */
52255232
position: sticky;
52265233
top: 0;
52275234
z-index: 32;
@@ -5234,6 +5241,7 @@ svg {
52345241
background: rgba(255, 255, 255, 0.94);
52355242
backdrop-filter: blur(12px);
52365243
padding: 8px 18px;
5244+
flex-shrink: 0;
52375245
}
52385246

52395247
.dash-search {
@@ -5397,13 +5405,17 @@ svg {
53975405
}
53985406

53995407
.dash-content {
5408+
/* FIX #16: content area with proper overflow handling */
54005409
min-width: 0;
54015410
max-width: 100%;
54025411
display: grid;
54035412
grid-template-columns: minmax(0, 1fr) 286px;
54045413
gap: 16px;
54055414
padding: 18px;
54065415
overflow-x: clip;
5416+
overflow-y: auto;
5417+
flex: 1;
5418+
min-height: 0;
54075419
}
54085420

54095421
.dash-main,
@@ -6383,6 +6395,7 @@ svg {
63836395
border-left: 0;
63846396
}
63856397

6398+
/* FIX #16: 1100px dashboard adjustments */
63866399
.dashboard-shell {
63876400
grid-template-columns: 176px minmax(0, 1fr);
63886401
}
@@ -6455,6 +6468,7 @@ svg {
64556468
width: 100%;
64566469
}
64576470

6471+
/* FIX #16: 980px - tablet: sidebar collapses to horizontal */
64586472
.dashboard-shell {
64596473
grid-template-columns: 1fr;
64606474
}
@@ -6464,19 +6478,24 @@ svg {
64646478
height: auto;
64656479
border-right: 0;
64666480
border-bottom: 1px solid var(--line);
6481+
overflow: visible;
64676482
}
64686483

64696484
.dash-side-nav {
6485+
/* FIX #16: horizontal nav grid on tablet */
64706486
grid-template-columns: repeat(3, minmax(150px, 1fr));
6471-
overflow: visible;
6487+
overflow-x: auto;
6488+
overflow-y: visible;
64726489
}
64736490

64746491
.mrg-card {
64756492
display: none;
64766493
}
64776494

6495+
/* FIX #16: 980px - topbar stacks, content single col */
64786496
.dash-topbar {
64796497
grid-template-columns: minmax(0, 1fr) auto;
6498+
flex-shrink: 0;
64806499
}
64816500

64826501
.dash-topnav {
@@ -6485,6 +6504,7 @@ svg {
64856504

64866505
.dash-content {
64876506
grid-template-columns: 1fr;
6507+
overflow-x: clip;
64886508
}
64896509

64906510
.dash-metrics,
@@ -6597,18 +6617,27 @@ svg {
65976617

65986618
/* ---- dashboard fixes (760px breakpoint) ---- */
65996619

6620+
/* FIX #16: 760px - mobile: full responsive pass */
66006621
.dashboard-shell {
66016622
overflow-x: hidden;
6623+
overflow-y: auto;
6624+
}
6625+
6626+
.dash-workspace {
6627+
flex-direction: column;
6628+
overflow: hidden;
66026629
}
66036630

66046631
.dash-sidebar {
66056632
padding: 14px 12px;
66066633
}
66076634

66086635
.dash-topbar {
6636+
/* FIX #16: stack topbar vertically on mobile */
66096637
grid-template-columns: 1fr;
66106638
align-items: stretch;
66116639
padding: 8px 12px;
6640+
flex-shrink: 0;
66126641
}
66136642

66146643
.dash-search {
@@ -6635,8 +6664,13 @@ svg {
66356664
}
66366665

66376666
.dash-content {
6667+
/* FIX #16: single column with scroll on mobile */
66386668
padding: 12px;
66396669
gap: 12px;
6670+
grid-template-columns: 1fr;
6671+
overflow-x: clip;
6672+
overflow-y: auto;
6673+
min-height: 0;
66406674
}
66416675

66426676
.dash-project-header,
@@ -6734,9 +6768,11 @@ svg {
67346768
}
67356769

67366770
.dash-topbar {
6771+
/* FIX #16: second 760px topbar rule - consolidate */
67376772
grid-template-columns: 1fr;
67386773
align-items: stretch;
67396774
gap: 10px;
6775+
flex-shrink: 0;
67406776
}
67416777

67426778
.dash-top-actions {
@@ -6946,8 +6982,15 @@ svg {
69466982

69476983
/* ---- dashboard fixes (520px) ---- */
69486984

6985+
/* FIX #16: 520px - small mobile final pass */
69496986
.dashboard-shell {
69506987
overflow-x: hidden;
6988+
overflow-y: auto;
6989+
}
6990+
6991+
.dash-workspace {
6992+
flex-direction: column;
6993+
overflow: hidden;
69516994
}
69526995

69536996
.dash-search {
@@ -6963,8 +7006,12 @@ svg {
69637006
}
69647007

69657008
.dash-content {
7009+
/* FIX #16: small mobile content */
69667010
padding: 10px;
69677011
gap: 10px;
7012+
grid-template-columns: 1fr;
7013+
overflow-x: clip;
7014+
min-height: 0;
69687015
}
69697016

69707017
.dash-project-title h1 {

0 commit comments

Comments
 (0)