web: the dashboard is one column !422

merged merged by cmc on 2026-09-19 03:15 UTC · krz/gitbay:dash-single into main

2 files changed, +11 −16

Layout: unified · split

internal/web/static/style.css +6 −3
@@ -1027,6 +1027,11 @@ form.actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin-top: var
1027form.actions button { flex: 1 1 auto; } 1027form.actions button { flex: 1 1 auto; }
1028form.actions select, form.actions textarea { width: 100%; } 1028form.actions select, form.actions textarea { width: 100%; }
1029.feedline { margin-bottom: var(--sp-2); } 1029.feedline { margin-bottom: var(--sp-2); }
1030/* the dashboard's activity feed is a section after the queues, one column */
1031.feed { margin-top: var(--sp-6); max-width: 78ch; }
1032.feed h2 { margin-bottom: var(--sp-3); }
1033.feed .feedline { font-size: var(--fs-2); }
1034.feed .none { color: var(--muted); font-size: var(--fs-1); }
1030 1035
1031/* ---- comments and threads ---- */ 1036/* ---- comments and threads ---- */
1032article.comment { 1037article.comment {
@@ -1466,10 +1471,8 @@ svg.icon { vertical-align: -0.125em; }
1466/* ---- breakpoints ---- */ 1471/* ---- breakpoints ---- */
1467@media (max-width: 62rem) { 1472@media (max-width: 62rem) {
1468 .withaside { grid-template-columns: 1fr; } 1473 .withaside { grid-template-columns: 1fr; }
1469 /* checks and reviewers before a long thread; the dashboard's aside is 1474 /* checks and reviewers before a long thread */
1470 the activity feed, which reads after the queues */
1471 .withaside .aside { order: -1; } 1475 .withaside .aside { order: -1; }
1472 .withaside.feedlast .aside { order: 0; }
1473} 1476}
1474 1477
1475@media (max-width: 52rem) { 1478@media (max-width: 52rem) {
internal/web/templates/dashboard.html +5 −13
@@ -19,9 +19,6 @@
19<h1>Dashboard</h1> 19<h1>Dashboard</h1>
20{{with .Rail.Pinned}}<p class="pinned" aria-label="Pinned repositories">{{range .}}<a class="chip" href="/{{.Owner}}/{{.Name}}"><span class="owner">{{.Owner}}/</span>{{.Name}}</a> {{end}}</p>{{end}} 20{{with .Rail.Pinned}}<p class="pinned" aria-label="Pinned repositories">{{range .}}<a class="chip" href="/{{.Owner}}/{{.Name}}"><span class="owner">{{.Owner}}/</span>{{.Name}}</a> {{end}}</p>{{end}}
21 21
22<div class="withaside feedlast">
23<div class="mainside">
24
25{{if .Reviews}}{{template "queue" dict "Title" "Waiting on your review" "Items" .Reviews "Kind" "mrs" "Empty" "Nothing waiting on you"}}{{end}} 22{{if .Reviews}}{{template "queue" dict "Title" "Waiting on your review" "Items" .Reviews "Kind" "mrs" "Empty" "Nothing waiting on you"}}{{end}}
26{{if .Assigned}}{{template "queue" dict "Title" "Assigned to you" "Items" .Assigned "Kind" "issues" "Empty" "Nothing assigned to you"}}{{end}} 23{{if .Assigned}}{{template "queue" dict "Title" "Assigned to you" "Items" .Assigned "Kind" "issues" "Empty" "Nothing assigned to you"}}{{end}}
27{{if .MRs}}{{template "queue" dict "Title" "Open merge requests" "Items" .MRs "Kind" "mrs" "Empty" "No open merge requests" "Hint" "Yours anywhere, and every one in a repository you can write to."}}{{end}} 24{{if .MRs}}{{template "queue" dict "Title" "Open merge requests" "Items" .MRs "Kind" "mrs" "Empty" "No open merge requests" "Hint" "Yours anywhere, and every one in a repository you can write to."}}{{end}}
@@ -32,14 +29,9 @@
32{{if not .MRs}}<h2 class="empty">Open merge requests <span class="count">0</span></h2>{{end}} 29{{if not .MRs}}<h2 class="empty">Open merge requests <span class="count">0</span></h2>{{end}}
33{{if not .Issues}}<h2 class="empty">Open issues <span class="count">0</span></h2>{{end}} 30{{if not .Issues}}<h2 class="empty">Open issues <span class="count">0</span></h2>{{end}}
34 31
35</div> 32<section class="feed">
36 33 <h2>Recent activity</h2>
37<aside class="aside"> 34 {{range .Feed}}<p class="feedline">{{if eq .State "failure"}}<span class="dot bad"></span>{{else if eq .State "success"}}<span class="dot ok"></span>{{else if .State}}<span class="dot pend"></span>{{end}}<a href="/{{.Actor}}">{{.Actor}}</a> {{.Verb}} <a href="{{.URL}}"{{if .Jobs}} title="{{join .Jobs ", "}}"{{end}}>{{.Ref}}</a><br><span class="none">{{.Repo}} · <span title="{{whenT .WhenT}}">{{ago .WhenT}}</span></span></p>
38 <div class="grp"> 35 {{else}}<p class="none">No activity yet</p>{{end}}
39 <h2>Recent activity</h2> 36</section>
40 {{range .Feed}}<p class="row feedline">{{if eq .State "failure"}}<span class="dot bad"></span>{{else if eq .State "success"}}<span class="dot ok"></span>{{else if .State}}<span class="dot pend"></span>{{end}}<a href="/{{.Actor}}">{{.Actor}}</a> {{.Verb}} <a href="{{.URL}}"{{if .Jobs}} title="{{join .Jobs ", "}}"{{end}}>{{.Ref}}</a><br><span class="none">{{.Repo}} · <span title="{{whenT .WhenT}}">{{ago .WhenT}}</span></span></p>
41 {{else}}<p class="none">No activity yet</p>{{end}}
42 </div>
43</aside>
44</div>
45{{end}} 37{{end}}