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.

Rename Change requests to Changes in the web UI

b06184d1105ff5ea27a5b8dd0a827f0bf870ce7a · Keenan Nemetz · 11d ago · parent 55615c7a

Rename Change requests to Changes in the web UI

Use one word for a proposed branch update: the repository tab, page
heading, list, empty states, overview, home page, activity feed, and
error messages now say Changes. Add the missing subtitle to the changes
list page.

server/web/templates/requests.html +11−10

@@ -4,9 +4,10 @@
4 4
5 5 <div class="page-head">
6 6 <div class="page-head-main">
7 <h1>Change requests</h1>
7 <h1>Changes</h1>
8 <p class="page-sub">Branches proposed for a base branch, with review and approvals before they land.</p>
8 9 </div>
9 {{if .CanOpen}}<div class="page-head-actions"><a class="button" href="/r/{{.Name}}/requests/new">{{icon "plus"}}New change request</a></div>{{end}}
10 {{if .CanOpen}}<div class="page-head-actions"><a class="button" href="/r/{{.Name}}/requests/new">{{icon "plus"}}New change</a></div>{{end}}
10 11 </div>
11 12
12 13 {{template "change_list" .}}
@@ -33,7 +34,7 @@
33 34 <div class="panel">
34 35 <table class="change-list">
35 36 <thead>
36 <tr><th>Status</th><th>Change request</th><th>Base ← Head</th><th>Author</th><th>Approvals</th><th>Age</th></tr>
37 <tr><th>Status</th><th>Change</th><th>Base ← Head</th><th>Author</th><th>Approvals</th><th>Age</th></tr>
37 38 </thead>
38 39 <tbody>
39 40 {{range .Rows}}
@@ -55,22 +56,22 @@
55 56 {{template "pager" .Pager}}
56 57 {{else if and (eq .State "open") .Total}}
57 58 <div class="empty-state">
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}}
59 <p>No open changes.{{if .Merged}} {{.Merged}} merged.{{end}}{{if .Closed}} {{.Closed}} closed.{{end}}</p>
60 {{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 changes</a>{{end}}
60 61 {{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}}
62 {{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 changes</a>{{end}}
62 63 </div>
63 64 {{else if .Filtered}}
64 65 <div class="empty-state">
65 <p>No change requests match this filter.</p>
66 <p>No changes match this filter.</p>
66 67 <a href="/r/{{.Name}}/requests" hx-get="/r/{{.Name}}/requests" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true">Clear filters</a>
67 68 </div>
68 69 {{else}}
69 70 <div class="empty-state">
70 <p>No change requests yet.</p>
71 <p>No changes yet.</p>
71 72 <p class="muted">From a clone of this repository:</p>
72 73 <pre>vole change new --title "..." --base {{.Base}}</pre>
73 <p class="muted">A change request is also just a directory on the <code>vole</code> branch:
74 <p class="muted">A change is also just a directory on the <code>vole</code> branch:
74 75 <code>requests/&lt;ulid&gt;/request.md</code> naming the base branch and the head
75 76 commit, plus <code>approvals/&lt;account-id&gt;.md</code> from each approver.</p>
76 77 </div>
@@ -274,7 +275,7 @@
274 275 {{end}}
275 276
276 277 {{define "request_tabs"}}
277 <nav class="subtabs" aria-label="Change request sections">
278 <nav class="subtabs" aria-label="Change sections">
278 279 <a class="{{if eq .Tab "conversation"}}active{{end}}" href="/r/{{.Name}}/requests/{{.Request.ID}}"{{if eq .Tab "conversation"}} aria-current="page"{{end}}>{{icon "message-square"}}Conversation</a>
279 280 <a class="{{if eq .Tab "files"}}active{{end}}" href="/r/{{.Name}}/requests/{{.Request.ID}}/files"{{if eq .Tab "files"}} aria-current="page"{{end}}>{{icon "file"}}Changes <span class="chip-count">{{.FileCount}}</span></a>
280 281 <a class="{{if eq .Tab "runs"}}active{{end}}" href="/r/{{.Name}}/requests/{{.Request.ID}}/runs"{{if eq .Tab "runs"}} aria-current="page"{{end}}>{{icon "play"}}Runs <span class="chip-count">{{len .Checks}}</span></a>