main
1{{- /*gotype: mokhan.ca/xlgmokha/gitmal/pkg/templates.CommitsListParams*/ -}}
2{{- define "head" -}}
3<style>
4 .commits {
5 border: 1px solid var(--c-border);
6 border-top: none;
7 border-bottom-left-radius: var(--border-radius);
8 border-bottom-right-radius: var(--border-radius);
9 overflow-x: auto;
10 }
11 .row {
12 display: flex;
13 height: 40px;
14 border-bottom: 1px solid var(--c-border);
15 padding-inline: 16px;
16 gap: 16px;
17 }
18 .row:last-child {
19 border-bottom: none;
20 }
21 .row:hover {
22 background-color: var(--c-bg-alt);
23 }
24 .cell {
25 display: flex;
26 gap: 8px;
27 align-items: center;
28 }
29 .hash a {
30 font-family: var(--font-family-mono), monospace;
31 color: var(--c-text-2);
32 }
33 .commit-title {
34 flex: 1;
35 }
36 .commit-title a {
37 color: var(--c-text-1);
38 line-height: 1.5;
39 }
40 .commit-title a:hover {
41 color: var(--c-brand-2);
42 }
43 .ref-badges {
44 display: inline-flex;
45 gap: 6px;
46 margin-left: 8px;
47 }
48 .badge {
49 font-size: 12px;
50 color: var(--c-text-2);
51 border: 1px solid var(--c-border);
52 padding: 2px 6px;
53 border-radius: 999px;
54 white-space: nowrap;
55 }
56 .date {
57 font-family: var(--font-family-mono), monospace;
58 font-size: 12px;
59 color: var(--c-text-2);
60 }
61 .pagination {
62 display: flex;
63 gap: 8px;
64 align-items: center;
65 justify-content: center;
66 margin-top: 12px;
67 padding: 8px 0;
68 color: var(--c-text-2);
69 }
70 .pagination a,
71 .pagination span.btn {
72 display: inline-flex;
73 align-items: center;
74 gap: 6px;
75 padding: 6px 10px;
76 border: 1px solid var(--c-border);
77 border-radius: 6px;
78 background: var(--c-bg-elv);
79 color: var(--c-text-1);
80 text-decoration: none;
81 font-size: 13px;
82 }
83 .pagination a:hover {
84 color: var(--c-brand-2);
85 border-color: var(--c-brand-2);
86 }
87 .pagination .disabled {
88 opacity: 0.5;
89 pointer-events: none;
90 }
91 .pagination .page-indicator {
92 margin: 0 4px;
93 font-size: 13px;
94 color: var(--c-text-2);
95 }
96 @media (max-width: 767px) {
97 .row {
98 height: auto;
99 padding: 10px 12px;
100 gap: 12px;
101 flex-wrap: wrap;
102 align-items: flex-start;
103 }
104 .commit-title {
105 flex-basis: 100%;
106 order: 1;
107 }
108 .author, .date, .hash {
109 font-size: 12px;
110 }
111 .author {
112 color: var(--c-text-2);
113 order: 2;
114 }
115 .date {
116 order: 2;
117 }
118 .hash {
119 margin-left: auto;
120 order: 3;
121 }
122 }
123</style>
124{{- end}}
125
126{{- define "body" -}}
127{{- template "header" .}}
128<div class="commits">
129{{- range .Commits}}
130 <div class="row">
131 <div class="cell hash">
132 <a href="{{.Href}}">{{.ShortHash}}</a>
133 </div>
134 <div class="cell commit-title">
135 <a href="{{.Href}}">{{.Subject}}</a>
136{{- if .RefNames}}
137 <div class="ref-badges">
138{{- range .RefNames}}
139{{- if or (eq .Kind "Branch") (eq .Kind "Tag")}}
140 <span class="badge">{{if eq .Kind "Tag"}}tag: {{end}}{{.Name}}</span>
141{{- end}}
142{{- end}}
143 </div>
144{{- end}}
145 </div>
146 <div class="cell author">{{.Author}}</div>
147 <div class="cell date">{{.Date | FormatDate}}</div>
148 </div>
149{{- else}}
150 <div class="row">(no commits)</div>
151{{- end}}
152</div>
153<div class="pagination">
154{{- if .Page.FirstHref}}
155 <a class="btn" href="{{.Page.FirstHref}}">« First</a>
156{{- else}}
157 <span class="btn disabled">« First</span>
158{{- end}}
159{{- if .Page.PrevHref}}
160 <a class="btn" href="{{.Page.PrevHref}}">← Newer</a>
161{{- else}}
162 <span class="btn disabled">← Newer</span>
163{{- end}}
164 <span class="page-indicator">Page {{.Page.Page}} of {{.Page.TotalPages}}</span>
165{{- if .Page.NextHref}}
166 <a class="btn" href="{{.Page.NextHref}}">Older →</a>
167{{- else}}
168 <span class="btn disabled">Older →</span>
169{{- end}}
170{{- if .Page.LastHref}}
171 <a class="btn" href="{{.Page.LastHref}}">Last »</a>
172{{- else}}
173 <span class="btn disabled">Last »</span>
174{{- end}}
175</div>
176{{- end}}