rin
Public Open-source lightweight git hosting.
pulls.html · 79 lines · 3.8 KB
Raw
1 {{define "content"}}
2 <div class="container">
3 {{template "repo_header" .}}
4
5 <div class="flex items-center justify-between flex-wrap gap-2 mb-3">
6 <div class="flex items-center gap-1.5">
7 <a href="/{{.Repo.OwnerUsername}}/{{.Repo.Name}}/pulls?state=open" class="btn {{if eq .CurrentState "open"}}btn-secondary{{else}}btn-ghost{{end}} btn-sm">
8 <span style="color:hsl(var(--primary));">{{icon "git-pull-request" "size-3.5"}}</span>
9 <span>{{t .Lang "pulls.open"}} ({{.OpenCount}})</span>
10 </a>
11 <a href="/{{.Repo.OwnerUsername}}/{{.Repo.Name}}/pulls?state=merged" class="btn {{if eq .CurrentState "merged"}}btn-secondary{{else}}btn-ghost{{end}} btn-sm">
12 <span style="color:hsl(var(--diff-add-fg));">{{icon "git-merge" "size-3.5"}}</span>
13 <span>{{t .Lang "pulls.merged"}} ({{.MergedCount}})</span>
14 </a>
15 <a href="/{{.Repo.OwnerUsername}}/{{.Repo.Name}}/pulls?state=closed" class="btn {{if eq .CurrentState "closed"}}btn-secondary{{else}}btn-ghost{{end}} btn-sm">
16 <span class="text-muted">{{icon "close" "size-3.5"}}</span>
17 <span>{{t .Lang "pulls.closed"}} ({{.ClosedCount}})</span>
18 </a>
19 </div>
20
21 {{if .CurrentUser}}
22 <a href="/{{.Repo.OwnerUsername}}/{{.Repo.Name}}/pulls/new" class="btn btn-primary btn-sm">
23 {{icon "plus" "size-3.5"}}
24 <span>{{t .Lang "pulls.new"}}</span>
25 </a>
26 {{end}}
27 </div>
28
29 {{if .Pulls}}
30 <div class="card">
31 <div class="dense-list">
32 {{range .Pulls}}
33 <div class="dense-row" style="min-height:3rem;padding:0.6rem 0.85rem;">
34 <div class="flex items-center gap-2.5 min-w-0">
35 {{if eq .Status "merged"}}
36 <span style="color:hsl(var(--diff-add-fg));">{{icon "git-merge" "size-4"}}</span>
37 {{else if eq .Status "closed"}}
38 <span class="text-muted">{{icon "close" "size-4"}}</span>
39 {{else}}
40 <span style="color:hsl(var(--primary));">{{icon "git-pull-request" "size-4"}}</span>
41 {{end}}
42 <div class="flex flex-col min-w-0">
43 <div class="flex items-center gap-2 min-w-0 flex-wrap">
44 <a href="/{{$.Repo.OwnerUsername}}/{{$.Repo.Name}}/pulls/{{.Number}}" class="font-semibold text-sm truncate">{{.Title}}</a>
45 <span class="font-mono text-xs text-muted">#{{.Number}}</span>
46 <span class="badge badge-outline font-mono text-xs" style="padding:0.1rem 0.4rem;">{{.HeadBranch}} → {{.BaseBranch}}</span>
47 </div>
48 <div class="text-xs text-muted flex items-center gap-1.5 mt-0.5">
49 <span>@{{.AuthorUsername}}</span>
50 <span>·</span>
51 <span>{{timeAgo .CreatedAt $.Lang}}</span>
52 {{if eq .Status "merged"}}
53 <span>·</span>
54 <span style="color:hsl(var(--diff-add-fg));font-weight:500;">{{t $.Lang "pulls.merged"}}</span>
55 {{end}}
56 </div>
57 </div>
58 </div>
59 <div class="flex items-center gap-2 text-xs text-muted flex-shrink-0">
60 {{if gt .CommentCount 0}}
61 <span class="flex items-center gap-1 font-mono">
62 {{icon "message" "size-3.5"}}
63 <span>{{.CommentCount}}</span>
64 </span>
65 {{end}}
66 </div>
67 </div>
68 {{end}}
69 </div>
70 </div>
71 {{else}}
72 {{if .CurrentUser}}
73 {{template "ui_empty_state" (dict "Icon" "git-pull-request" "Title" (t .Lang "pulls.empty") "ActionHref" (printf "/%s/%s/pulls/new" .Repo.OwnerUsername .Repo.Name) "ActionLabel" (t .Lang "pulls.new") "ActionIcon" "plus")}}
74 {{else}}
75 {{template "ui_empty_state" (dict "Icon" "git-pull-request" "Title" (t .Lang "pulls.empty"))}}
76 {{end}}
77 {{end}}
78 </div>
79 {{end}}