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}}&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}}&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}}&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}}&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"> | |