- commit
- b5c2188
- parent
- 9a43498
- author
- Eric Bower
- date
- 2025-02-04 14:20:57 -0500 EST
design: show number of prs next to status filters
2 files changed,
+31,
-6
+4,
-4
1@@ -218,13 +218,13 @@ git push origin main
2 <main>
3 <div>
4 filter
5- <a href="/">open</a>
6+ <a href="/">open</a> <code>{{.NumOpen}}</code>
7 ·
8- <a href="/?status=reviewed">reviewed</a>
9+ <a href="/?status=reviewed">reviewed</a> <code>{{.NumReviewed}}</code>
10 ·
11- <a href="/?status=accepted">accepted</a>
12+ <a href="/?status=accepted">accepted</a> <code>{{.NumAccepted}}</code>
13 ·
14- <a href="/?status=closed">closed</a>
15+ <a href="/?status=closed">closed</a> <code>{{.NumClosed}}</code>
16 </div>
17 {{template "pr-table" .Prs}}
18 </main>
M
web.go
+27,
-2
1@@ -110,7 +110,11 @@ type LinkData struct {
2 }
3
4 type PrTableData struct {
5- Prs []*PrListData
6+ Prs []*PrListData
7+ NumOpen int
8+ NumReviewed int
9+ NumAccepted int
10+ NumClosed int
11 MetaData
12 }
13
14@@ -286,10 +290,31 @@ func indexHandler(w http.ResponseWriter, r *http.Request) {
15 return
16 }
17
18+ numOpen := 0
19+ numReviewed := 0
20+ numAccepted := 0
21+ numClosed := 0
22+ for _, pr := range prs {
23+ switch pr.Status {
24+ case "open":
25+ numOpen += 1
26+ case "reviewed":
27+ numReviewed += 1
28+ case "accepted":
29+ numAccepted += 1
30+ case "closed":
31+ numClosed += 1
32+ }
33+ }
34+
35 w.Header().Set("content-type", "text/html")
36 tmpl := getTemplate("index.html")
37 err = tmpl.ExecuteTemplate(w, "index.html", PrTableData{
38- Prs: prdata,
39+ NumOpen: numOpen,
40+ NumReviewed: numReviewed,
41+ NumAccepted: numAccepted,
42+ NumClosed: numClosed,
43+ Prs: prdata,
44 MetaData: MetaData{
45 URL: web.Backend.Cfg.Url,
46 },