Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Give merged change requests their own colour and filter

0e35a6a00a03201f382c9669d01c2af81f3dbdd5 · Keenan Nemetz · 11d ago · parent f2360c20

Give merged change requests their own colour and filter

The merged state borrowed --accent, which is green in Everforest and therefore read like an open request. It now has its own purple tokens in both the fallback and Everforest themes.

The list also gains a Merged chip with its own count. Closed now counts only requests that were closed without landing, so the three state filters partition the list instead of overlapping.

server/web/templates/requests.html +6−3

@@ -17,6 +17,7 @@
17 17 <div id="change-list">
18 18 <div class="chips" hx-boost="true" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true">
19 19 <a class="chip{{if eq .State "open"}} active{{end}}" href="/r/{{.Name}}/requests?state=open{{if .Query}}&amp;q={{urlquery .Query}}{{end}}">Open <span class="chip-count">{{.Open}}</span></a>
20 <a class="chip{{if eq .State "merged"}} active{{end}}" href="/r/{{.Name}}/requests?state=merged{{if .Query}}&amp;q={{urlquery .Query}}{{end}}">Merged <span class="chip-count">{{.Merged}}</span></a>
20 21 <a class="chip{{if eq .State "closed"}} active{{end}}" href="/r/{{.Name}}/requests?state=closed{{if .Query}}&amp;q={{urlquery .Query}}{{end}}">Closed <span class="chip-count">{{.Closed}}</span></a>
21 22 <a class="chip{{if eq .State "all"}} active{{end}}" href="/r/{{.Name}}/requests?state=all{{if .Query}}&amp;q={{urlquery .Query}}{{end}}">All <span class="chip-count">{{.Total}}</span></a>
22 23 </div>
@@ -52,10 +53,12 @@
52 53 </table>
53 54 </div>
54 55 {{template "pager" .Pager}}
55 {{else if and (eq .State "open") .Closed}}
56 {{else if and (eq .State "open") .Total}}
56 57 <div class="empty-state">
57 <p>No open change requests. {{.Closed}} closed.</p>
58 <a href="/r/{{.Name}}/requests?state=closed" hx-get="/r/{{.Name}}/requests?state=closed" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true">View closed change requests</a>
58 <p>No open change requests.{{if .Merged}} {{.Merged}} merged.{{end}}{{if .Closed}} {{.Closed}} closed.{{end}}</p>
59 {{if .Merged}}<a href="/r/{{.Name}}/requests?state=merged" hx-get="/r/{{.Name}}/requests?state=merged" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true">View merged change requests</a>{{end}}
60 {{if and .Merged .Closed}} · {{end}}
61 {{if .Closed}}<a href="/r/{{.Name}}/requests?state=closed" hx-get="/r/{{.Name}}/requests?state=closed" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true">View closed change requests</a>{{end}}
59 62 </div>
60 63 {{else if .Filtered}}
61 64 <div class="empty-state">