repos / git-pr

a self-hosted git collaboration server
git clone https://github.com/picosh/git-pr.git

git-pr / tmpl
Eric Bower  ·  2025-01-01

pr-detail.html

 1{{template "base" .}}
 2
 3{{define "title"}}{{.Pr.Title}} - pr summary{{end}}
 4
 5{{define "meta"}}
 6<link rel="alternate" type="application/atom+xml"
 7      title="RSS feed for git collaboration server"
 8      href="/prs/{{.Pr.ID}}/rss" />
 9<meta property="og:title" content="{{.Pr.Title}}" />
10<meta property="og:url" content="https://{{.MetaData.URL}}/prs/{{.Pr.ID}}" />
11<meta property="og:type" content="object" />
12<meta property="og:site_name" content="{{.MetaData.URL}}" />
13{{end}}
14
15{{define "body"}}
16{{template "pr-header" .}}
17
18<main class="group">
19  <div class="flex gap-2 collapse">
20    <div class="group text-sm" style="width: 300px;">
21      <h3 class="text-lg">Logs</h3>
22      {{range .Logs}}
23      <div>
24        {{template "user-pill" .UserData}}
25        <span class="font-bold">
26          {{if eq .Event "pr_created"}}
27            created pr with <a href="/ps/{{.Patchset.ID}}"><code>{{.FormattedPatchsetID}}</code></a>
28          {{else if eq .Event "pr_patchset_added"}}
29            added <a href="/ps/{{.Patchset.ID}}"><code>{{.FormattedPatchsetID}}</code></a>
30          {{else if eq .Event "pr_patchset_deleted"}}
31            deleted <code>{{.FormattedPatchsetID}}</code>
32          {{else if eq .Event "pr_reviewed"}}
33            reviewed pr with <a href="/ps/{{.Patchset.ID}}"><code class="pill-review">{{.FormattedPatchsetID}}</code></a>
34          {{else if eq .Event "pr_patchset_replaced"}}
35            replaced <code>{{.FormattedPatchsetID}}</code>
36          {{else if eq .Event "pr_status_changed"}}
37            changed status
38          {{else if eq .Event "pr_name_changed"}}
39            changed pr name
40          {{else}}
41            {{.Event}}
42          {{end}}
43        </span>
44        <span>on <date>{{.Date}}</date></span>
45        {{if .Data}}<code>{{.Data}}</code>{{end}}
46      </div>
47      {{end}}
48    </div>
49
50    <div class="group text-sm flex-1">
51      <h3 class="text-lg">Patchsets</h3>
52
53      {{range .Patchsets}}
54        {{if .RangeDiff}}
55        <details>
56          <summary class="text-sm">Range Diff ↕ <code><a href="/rd/{{.ID}}">rd-{{.ID}}</a></code></summary>
57          <div class="group">
58          {{- range .RangeDiff -}}
59            <div>
60              <code class='{{if eq .Type "rm"}}pill-admin{{else if eq .Type "add"}}pill-success{{else if eq .Type "diff"}}pill-review{{end}}'>
61                {{.Header}}
62              </code>
63            </div>
64          {{- end -}}
65          </div>
66        </details>
67        {{end}}
68
69        <div>
70          <a href="/ps/{{.Patchset.ID}}"><code class="{{if .Review}}pill-review{{end}}">{{.FormattedID}}</code></a>
71          <span> by </span>
72          {{template "user-pill" .UserData}}
73          <span>on <date>{{.Date}}</date></span>
74        </div>
75      {{end}}
76    </div>
77  </div>
78
79  <hr class="w-full" />
80
81  {{if .IsRangeDiff}}
82    {{template "range-diff" .}}
83  {{else}}
84    {{template "patchset" .}}
85  {{end}}
86</main>
87{{end}}