1// Code generated by templ - DO NOT EDIT.
2
3// templ: version: v0.3.1020
4// SPDX-License-Identifier: AGPL-3.0-or-later
5
6package web
7
8//lint:file-ignore SA4006 This context is only used if a nested component is present.
9
10import "github.com/a-h/templ"
11import templruntime "github.com/a-h/templ/runtime"
12
13// Facts is a key/value block on an 11ch key column.
14func Facts(facts []Fact) templ.Component {
15 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
16 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
17 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
18 return templ_7745c5c3_CtxErr
19 }
20 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
21 if !templ_7745c5c3_IsBuffer {
22 defer func() {
23 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
24 if templ_7745c5c3_Err == nil {
25 templ_7745c5c3_Err = templ_7745c5c3_BufErr
26 }
27 }()
28 }
29 ctx = templ.InitializeContext(ctx)
30 templ_7745c5c3_Var1 := templ.GetChildren(ctx)
31 if templ_7745c5c3_Var1 == nil {
32 templ_7745c5c3_Var1 = templ.NopComponent
33 }
34 ctx = templ.ClearChildren(ctx)
35 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<dl class=\"kv\">")
36 if templ_7745c5c3_Err != nil {
37 return templ_7745c5c3_Err
38 }
39 for _, f := range facts {
40 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "<dt>")
41 if templ_7745c5c3_Err != nil {
42 return templ_7745c5c3_Err
43 }
44 var templ_7745c5c3_Var2 string
45 templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(f.Key)
46 if templ_7745c5c3_Err != nil {
47 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 9, Col: 14}
48 }
49 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
50 if templ_7745c5c3_Err != nil {
51 return templ_7745c5c3_Err
52 }
53 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "</dt>")
54 if templ_7745c5c3_Err != nil {
55 return templ_7745c5c3_Err
56 }
57 templ_7745c5c3_Err = FactValue(f).Render(ctx, templ_7745c5c3_Buffer)
58 if templ_7745c5c3_Err != nil {
59 return templ_7745c5c3_Err
60 }
61 }
62 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "</dl>")
63 if templ_7745c5c3_Err != nil {
64 return templ_7745c5c3_Err
65 }
66 return nil
67 })
68}
69
70// CloneBlock is a block of copyable shell lines; each has its own [copy]
71// button, whose label says "copied" for 1.5 s.
72func CloneBlock(c Clone) templ.Component {
73 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
74 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
75 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
76 return templ_7745c5c3_CtxErr
77 }
78 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
79 if !templ_7745c5c3_IsBuffer {
80 defer func() {
81 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
82 if templ_7745c5c3_Err == nil {
83 templ_7745c5c3_Err = templ_7745c5c3_BufErr
84 }
85 }()
86 }
87 ctx = templ.InitializeContext(ctx)
88 templ_7745c5c3_Var3 := templ.GetChildren(ctx)
89 if templ_7745c5c3_Var3 == nil {
90 templ_7745c5c3_Var3 = templ.NopComponent
91 }
92 ctx = templ.ClearChildren(ctx)
93 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<div class=\"clone\" id=\"")
94 if templ_7745c5c3_Err != nil {
95 return templ_7745c5c3_Err
96 }
97 var templ_7745c5c3_Var4 string
98 templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.ID)
99 if templ_7745c5c3_Err != nil {
100 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 18, Col: 29}
101 }
102 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var4)
103 if templ_7745c5c3_Err != nil {
104 return templ_7745c5c3_Err
105 }
106 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "\">")
107 if templ_7745c5c3_Err != nil {
108 return templ_7745c5c3_Err
109 }
110 for _, line := range c.Lines {
111 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "<div class=\"clone-line\"><span class=\"mute\" aria-hidden=\"true\">$ </span><code>")
112 if templ_7745c5c3_Err != nil {
113 return templ_7745c5c3_Err
114 }
115 var templ_7745c5c3_Var5 string
116 templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(line)
117 if templ_7745c5c3_Err != nil {
118 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 21, Col: 63}
119 }
120 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
121 if templ_7745c5c3_Err != nil {
122 return templ_7745c5c3_Err
123 }
124 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "</code> <button type=\"button\" class=\"btn copy\" data-js data-label=\"Copy\" aria-label=\"")
125 if templ_7745c5c3_Err != nil {
126 return templ_7745c5c3_Err
127 }
128 var templ_7745c5c3_Var6 string
129 templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.ResolveAttributeValue("copy: " + line)
130 if templ_7745c5c3_Err != nil {
131 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 27, Col: 33}
132 }
133 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var6)
134 if templ_7745c5c3_Err != nil {
135 return templ_7745c5c3_Err
136 }
137 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "\" hx-on:click=\"ermite.copy(this)\">Copy</button></div>")
138 if templ_7745c5c3_Err != nil {
139 return templ_7745c5c3_Err
140 }
141 }
142 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</div>")
143 if templ_7745c5c3_Err != nil {
144 return templ_7745c5c3_Err
145 }
146 return nil
147 })
148}
149
150// HomeRowView is the row of a repository in the home list: what it is, its
151// latest run, and its newest commits. Its id is the target of SSE swaps; the
152// name link comes first, `enter` follows it.
153func HomeRowView(r HomeRow) templ.Component {
154 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
155 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
156 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
157 return templ_7745c5c3_CtxErr
158 }
159 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
160 if !templ_7745c5c3_IsBuffer {
161 defer func() {
162 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
163 if templ_7745c5c3_Err == nil {
164 templ_7745c5c3_Err = templ_7745c5c3_BufErr
165 }
166 }()
167 }
168 ctx = templ.InitializeContext(ctx)
169 templ_7745c5c3_Var7 := templ.GetChildren(ctx)
170 if templ_7745c5c3_Var7 == nil {
171 templ_7745c5c3_Var7 = templ.NopComponent
172 }
173 ctx = templ.ClearChildren(ctx)
174 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "<li id=\"")
175 if templ_7745c5c3_Err != nil {
176 return templ_7745c5c3_Err
177 }
178 var templ_7745c5c3_Var8 string
179 templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.ID)
180 if templ_7745c5c3_Err != nil {
181 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 39, Col: 14}
182 }
183 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8)
184 if templ_7745c5c3_Err != nil {
185 return templ_7745c5c3_Err
186 }
187 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "\" class=\"repo\"")
188 if templ_7745c5c3_Err != nil {
189 return templ_7745c5c3_Err
190 }
191 if r.Cursor {
192 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, " data-cursor")
193 if templ_7745c5c3_Err != nil {
194 return templ_7745c5c3_Err
195 }
196 }
197 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "><div class=\"repo-main\"><h2 class=\"repo-name\"><a href=\"")
198 if templ_7745c5c3_Err != nil {
199 return templ_7745c5c3_Err
200 }
201 var templ_7745c5c3_Var9 templ.SafeURL
202 templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
203 if templ_7745c5c3_Err != nil {
204 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 42, Col: 35}
205 }
206 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
207 if templ_7745c5c3_Err != nil {
208 return templ_7745c5c3_Err
209 }
210 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\">")
211 if templ_7745c5c3_Err != nil {
212 return templ_7745c5c3_Err
213 }
214 var templ_7745c5c3_Var10 string
215 templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
216 if templ_7745c5c3_Err != nil {
217 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 42, Col: 46}
218 }
219 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
220 if templ_7745c5c3_Err != nil {
221 return templ_7745c5c3_Err
222 }
223 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</a> ")
224 if templ_7745c5c3_Err != nil {
225 return templ_7745c5c3_Err
226 }
227 if r.Private {
228 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<span class=\"pill\">private</span> ")
229 if templ_7745c5c3_Err != nil {
230 return templ_7745c5c3_Err
231 }
232 }
233 if r.Fresh {
234 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<span class=\"pill new\">new push</span>")
235 if templ_7745c5c3_Err != nil {
236 return templ_7745c5c3_Err
237 }
238 }
239 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</h2>")
240 if templ_7745c5c3_Err != nil {
241 return templ_7745c5c3_Err
242 }
243 if r.Desc != "" {
244 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "<p class=\"repo-desc\">")
245 if templ_7745c5c3_Err != nil {
246 return templ_7745c5c3_Err
247 }
248 var templ_7745c5c3_Var11 string
249 templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(r.Desc)
250 if templ_7745c5c3_Err != nil {
251 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 51, Col: 33}
252 }
253 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
254 if templ_7745c5c3_Err != nil {
255 return templ_7745c5c3_Err
256 }
257 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</p>")
258 if templ_7745c5c3_Err != nil {
259 return templ_7745c5c3_Err
260 }
261 } else {
262 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "<p class=\"repo-desc mute\">no description</p>")
263 if templ_7745c5c3_Err != nil {
264 return templ_7745c5c3_Err
265 }
266 }
267 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<dl class=\"repo-stats\" aria-label=\"")
268 if templ_7745c5c3_Err != nil {
269 return templ_7745c5c3_Err
270 }
271 var templ_7745c5c3_Var12 string
272 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.ResolveAttributeValue("Figures of " + r.Name)
273 if templ_7745c5c3_Err != nil {
274 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 55, Col: 61}
275 }
276 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var12)
277 if templ_7745c5c3_Err != nil {
278 return templ_7745c5c3_Err
279 }
280 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "\">")
281 if templ_7745c5c3_Err != nil {
282 return templ_7745c5c3_Err
283 }
284 if s := r.Stats; s != nil {
285 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<div><dt>commits</dt><dd>")
286 if templ_7745c5c3_Err != nil {
287 return templ_7745c5c3_Err
288 }
289 var templ_7745c5c3_Var13 string
290 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(s.Commits)
291 if templ_7745c5c3_Err != nil {
292 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 57, Col: 41}
293 }
294 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
295 if templ_7745c5c3_Err != nil {
296 return templ_7745c5c3_Err
297 }
298 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</dd></div><div><dt>last 30 days</dt><dd>")
299 if templ_7745c5c3_Err != nil {
300 return templ_7745c5c3_Err
301 }
302 var templ_7745c5c3_Var14 string
303 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(s.Recent)
304 if templ_7745c5c3_Err != nil {
305 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 58, Col: 45}
306 }
307 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
308 if templ_7745c5c3_Err != nil {
309 return templ_7745c5c3_Err
310 }
311 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</dd></div>")
312 if templ_7745c5c3_Err != nil {
313 return templ_7745c5c3_Err
314 }
315 if s.Tag != "" {
316 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<div><dt>latest tag</dt>")
317 if templ_7745c5c3_Err != nil {
318 return templ_7745c5c3_Err
319 }
320 if s.TagHref != "" {
321 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "<dd><a href=\"")
322 if templ_7745c5c3_Err != nil {
323 return templ_7745c5c3_Err
324 }
325 var templ_7745c5c3_Var15 templ.SafeURL
326 templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(s.TagHref))
327 if templ_7745c5c3_Err != nil {
328 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 63, Col: 46}
329 }
330 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
331 if templ_7745c5c3_Err != nil {
332 return templ_7745c5c3_Err
333 }
334 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "\" title=\"")
335 if templ_7745c5c3_Err != nil {
336 return templ_7745c5c3_Err
337 }
338 var templ_7745c5c3_Var16 string
339 templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue("made " + s.TagWhen)
340 if templ_7745c5c3_Err != nil {
341 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 63, Col: 76}
342 }
343 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16)
344 if templ_7745c5c3_Err != nil {
345 return templ_7745c5c3_Err
346 }
347 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\">")
348 if templ_7745c5c3_Err != nil {
349 return templ_7745c5c3_Err
350 }
351 var templ_7745c5c3_Var17 string
352 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(s.Tag)
353 if templ_7745c5c3_Err != nil {
354 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 63, Col: 86}
355 }
356 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
357 if templ_7745c5c3_Err != nil {
358 return templ_7745c5c3_Err
359 }
360 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</a></dd>")
361 if templ_7745c5c3_Err != nil {
362 return templ_7745c5c3_Err
363 }
364 } else {
365 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "<dd title=\"")
366 if templ_7745c5c3_Err != nil {
367 return templ_7745c5c3_Err
368 }
369 var templ_7745c5c3_Var18 string
370 templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.ResolveAttributeValue("made " + s.TagWhen)
371 if templ_7745c5c3_Err != nil {
372 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 65, Col: 39}
373 }
374 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var18)
375 if templ_7745c5c3_Err != nil {
376 return templ_7745c5c3_Err
377 }
378 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "\">")
379 if templ_7745c5c3_Err != nil {
380 return templ_7745c5c3_Err
381 }
382 var templ_7745c5c3_Var19 string
383 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(s.Tag)
384 if templ_7745c5c3_Err != nil {
385 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 65, Col: 49}
386 }
387 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
388 if templ_7745c5c3_Err != nil {
389 return templ_7745c5c3_Err
390 }
391 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</dd>")
392 if templ_7745c5c3_Err != nil {
393 return templ_7745c5c3_Err
394 }
395 }
396 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</div>")
397 if templ_7745c5c3_Err != nil {
398 return templ_7745c5c3_Err
399 }
400 }
401 }
402 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "<div><dt>last activity</dt>")
403 if templ_7745c5c3_Err != nil {
404 return templ_7745c5c3_Err
405 }
406 if r.ActiveAt != "" {
407 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<dd><time datetime=\"")
408 if templ_7745c5c3_Err != nil {
409 return templ_7745c5c3_Err
410 }
411 var templ_7745c5c3_Var20 string
412 templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.ActiveAt)
413 if templ_7745c5c3_Err != nil {
414 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 73, Col: 37}
415 }
416 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var20)
417 if templ_7745c5c3_Err != nil {
418 return templ_7745c5c3_Err
419 }
420 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "\" title=\"")
421 if templ_7745c5c3_Err != nil {
422 return templ_7745c5c3_Err
423 }
424 var templ_7745c5c3_Var21 string
425 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.ActiveAt)
426 if templ_7745c5c3_Err != nil {
427 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 73, Col: 58}
428 }
429 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var21)
430 if templ_7745c5c3_Err != nil {
431 return templ_7745c5c3_Err
432 }
433 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "\">")
434 if templ_7745c5c3_Err != nil {
435 return templ_7745c5c3_Err
436 }
437 var templ_7745c5c3_Var22 string
438 templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(r.Active)
439 if templ_7745c5c3_Err != nil {
440 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 73, Col: 71}
441 }
442 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
443 if templ_7745c5c3_Err != nil {
444 return templ_7745c5c3_Err
445 }
446 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "</time></dd>")
447 if templ_7745c5c3_Err != nil {
448 return templ_7745c5c3_Err
449 }
450 } else {
451 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "<dd class=\"mute\">never</dd>")
452 if templ_7745c5c3_Err != nil {
453 return templ_7745c5c3_Err
454 }
455 }
456 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</div></dl></div>")
457 if templ_7745c5c3_Err != nil {
458 return templ_7745c5c3_Err
459 }
460 if r.CI != nil {
461 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "<a class=\"repo-ci\" href=\"")
462 if templ_7745c5c3_Err != nil {
463 return templ_7745c5c3_Err
464 }
465 var templ_7745c5c3_Var23 templ.SafeURL
466 templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.CI.Href))
467 if templ_7745c5c3_Err != nil {
468 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 81, Col: 53}
469 }
470 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
471 if templ_7745c5c3_Err != nil {
472 return templ_7745c5c3_Err
473 }
474 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "\" title=\"")
475 if templ_7745c5c3_Err != nil {
476 return templ_7745c5c3_Err
477 }
478 var templ_7745c5c3_Var24 string
479 templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.CI.Title)
480 if templ_7745c5c3_Err != nil {
481 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 81, Col: 74}
482 }
483 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var24)
484 if templ_7745c5c3_Err != nil {
485 return templ_7745c5c3_Err
486 }
487 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "\">")
488 if templ_7745c5c3_Err != nil {
489 return templ_7745c5c3_Err
490 }
491 var templ_7745c5c3_Var25 = []any{"ck", "ck-" + r.CI.Kind}
492 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var25...)
493 if templ_7745c5c3_Err != nil {
494 return templ_7745c5c3_Err
495 }
496 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<span class=\"")
497 if templ_7745c5c3_Err != nil {
498 return templ_7745c5c3_Err
499 }
500 var templ_7745c5c3_Var26 string
501 templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var25).String())
502 if templ_7745c5c3_Err != nil {
503 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 1, Col: 0}
504 }
505 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var26)
506 if templ_7745c5c3_Err != nil {
507 return templ_7745c5c3_Err
508 }
509 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "\" aria-hidden=\"true\"></span> <span class=\"sr\">CI: </span>")
510 if templ_7745c5c3_Err != nil {
511 return templ_7745c5c3_Err
512 }
513 var templ_7745c5c3_Var27 string
514 templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(r.CI.Label)
515 if templ_7745c5c3_Err != nil {
516 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 83, Col: 44}
517 }
518 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
519 if templ_7745c5c3_Err != nil {
520 return templ_7745c5c3_Err
521 }
522 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</a> ")
523 if templ_7745c5c3_Err != nil {
524 return templ_7745c5c3_Err
525 }
526 }
527 if len(r.Commits) > 0 {
528 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "<ul class=\"repo-commits\" aria-label=\"")
529 if templ_7745c5c3_Err != nil {
530 return templ_7745c5c3_Err
531 }
532 var templ_7745c5c3_Var28 string
533 templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.ResolveAttributeValue("Recent commits of " + r.Name)
534 if templ_7745c5c3_Err != nil {
535 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 87, Col: 70}
536 }
537 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var28)
538 if templ_7745c5c3_Err != nil {
539 return templ_7745c5c3_Err
540 }
541 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "\">")
542 if templ_7745c5c3_Err != nil {
543 return templ_7745c5c3_Err
544 }
545 for _, c := range r.Commits {
546 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<li><a class=\"rc-sha\" href=\"")
547 if templ_7745c5c3_Err != nil {
548 return templ_7745c5c3_Err
549 }
550 var templ_7745c5c3_Var29 templ.SafeURL
551 templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
552 if templ_7745c5c3_Err != nil {
553 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 90, Col: 53}
554 }
555 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29))
556 if templ_7745c5c3_Err != nil {
557 return templ_7745c5c3_Err
558 }
559 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\">")
560 if templ_7745c5c3_Err != nil {
561 return templ_7745c5c3_Err
562 }
563 var templ_7745c5c3_Var30 string
564 templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
565 if templ_7745c5c3_Err != nil {
566 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 90, Col: 65}
567 }
568 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
569 if templ_7745c5c3_Err != nil {
570 return templ_7745c5c3_Err
571 }
572 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "</a> <span class=\"rc-subject\" title=\"")
573 if templ_7745c5c3_Err != nil {
574 return templ_7745c5c3_Err
575 }
576 var templ_7745c5c3_Var31 string
577 templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Subject)
578 if templ_7745c5c3_Err != nil {
579 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 91, Col: 48}
580 }
581 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31)
582 if templ_7745c5c3_Err != nil {
583 return templ_7745c5c3_Err
584 }
585 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\">")
586 if templ_7745c5c3_Err != nil {
587 return templ_7745c5c3_Err
588 }
589 var templ_7745c5c3_Var32 string
590 templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
591 if templ_7745c5c3_Err != nil {
592 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 91, Col: 62}
593 }
594 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
595 if templ_7745c5c3_Err != nil {
596 return templ_7745c5c3_Err
597 }
598 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</span> ")
599 if templ_7745c5c3_Err != nil {
600 return templ_7745c5c3_Err
601 }
602 if c.WhenAt != "" {
603 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<time class=\"dim\" datetime=\"")
604 if templ_7745c5c3_Err != nil {
605 return templ_7745c5c3_Err
606 }
607 var templ_7745c5c3_Var33 string
608 templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
609 if templ_7745c5c3_Err != nil {
610 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 93, Col: 44}
611 }
612 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var33)
613 if templ_7745c5c3_Err != nil {
614 return templ_7745c5c3_Err
615 }
616 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "\" title=\"")
617 if templ_7745c5c3_Err != nil {
618 return templ_7745c5c3_Err
619 }
620 var templ_7745c5c3_Var34 string
621 templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
622 if templ_7745c5c3_Err != nil {
623 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 93, Col: 63}
624 }
625 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34)
626 if templ_7745c5c3_Err != nil {
627 return templ_7745c5c3_Err
628 }
629 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "\">")
630 if templ_7745c5c3_Err != nil {
631 return templ_7745c5c3_Err
632 }
633 var templ_7745c5c3_Var35 string
634 templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
635 if templ_7745c5c3_Err != nil {
636 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 93, Col: 74}
637 }
638 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35))
639 if templ_7745c5c3_Err != nil {
640 return templ_7745c5c3_Err
641 }
642 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</time>")
643 if templ_7745c5c3_Err != nil {
644 return templ_7745c5c3_Err
645 }
646 }
647 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</li>")
648 if templ_7745c5c3_Err != nil {
649 return templ_7745c5c3_Err
650 }
651 }
652 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "</ul>")
653 if templ_7745c5c3_Err != nil {
654 return templ_7745c5c3_Err
655 }
656 } else if r.NoCommits {
657 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "<p class=\"repo-commits mute\">no commits yet</p>")
658 if templ_7745c5c3_Err != nil {
659 return templ_7745c5c3_Err
660 }
661 }
662 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "</li>")
663 if templ_7745c5c3_Err != nil {
664 return templ_7745c5c3_Err
665 }
666 return nil
667 })
668}
669
670// Outline is the README outline; levels indent by 2ch, the h1 is bold.
671func Outline(headings []Heading) templ.Component {
672 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
673 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
674 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
675 return templ_7745c5c3_CtxErr
676 }
677 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
678 if !templ_7745c5c3_IsBuffer {
679 defer func() {
680 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
681 if templ_7745c5c3_Err == nil {
682 templ_7745c5c3_Err = templ_7745c5c3_BufErr
683 }
684 }()
685 }
686 ctx = templ.InitializeContext(ctx)
687 templ_7745c5c3_Var36 := templ.GetChildren(ctx)
688 if templ_7745c5c3_Var36 == nil {
689 templ_7745c5c3_Var36 = templ.NopComponent
690 }
691 ctx = templ.ClearChildren(ctx)
692 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "<nav class=\"outline\" aria-label=\"Outline\">")
693 if templ_7745c5c3_Err != nil {
694 return templ_7745c5c3_Err
695 }
696 for _, h := range headings {
697 var templ_7745c5c3_Var37 = []any{"l" + itoa(h.Level)}
698 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var37...)
699 if templ_7745c5c3_Err != nil {
700 return templ_7745c5c3_Err
701 }
702 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "<a class=\"")
703 if templ_7745c5c3_Err != nil {
704 return templ_7745c5c3_Err
705 }
706 var templ_7745c5c3_Var38 string
707 templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var37).String())
708 if templ_7745c5c3_Err != nil {
709 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 1, Col: 0}
710 }
711 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var38)
712 if templ_7745c5c3_Err != nil {
713 return templ_7745c5c3_Err
714 }
715 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\" href=\"")
716 if templ_7745c5c3_Err != nil {
717 return templ_7745c5c3_Err
718 }
719 var templ_7745c5c3_Var39 templ.SafeURL
720 templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("#" + h.ID))
721 if templ_7745c5c3_Err != nil {
722 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 108, Col: 68}
723 }
724 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39))
725 if templ_7745c5c3_Err != nil {
726 return templ_7745c5c3_Err
727 }
728 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "\">")
729 if templ_7745c5c3_Err != nil {
730 return templ_7745c5c3_Err
731 }
732 var templ_7745c5c3_Var40 string
733 templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(h.Text)
734 if templ_7745c5c3_Err != nil {
735 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 108, Col: 79}
736 }
737 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40))
738 if templ_7745c5c3_Err != nil {
739 return templ_7745c5c3_Err
740 }
741 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "</a>")
742 if templ_7745c5c3_Err != nil {
743 return templ_7745c5c3_Err
744 }
745 }
746 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "</nav>")
747 if templ_7745c5c3_Err != nil {
748 return templ_7745c5c3_Err
749 }
750 return nil
751 })
752}
753
754// ReadmeCard is a README in a card whose header names the file.
755func ReadmeCard(r Readme) templ.Component {
756 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
757 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
758 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
759 return templ_7745c5c3_CtxErr
760 }
761 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
762 if !templ_7745c5c3_IsBuffer {
763 defer func() {
764 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
765 if templ_7745c5c3_Err == nil {
766 templ_7745c5c3_Err = templ_7745c5c3_BufErr
767 }
768 }()
769 }
770 ctx = templ.InitializeContext(ctx)
771 templ_7745c5c3_Var41 := templ.GetChildren(ctx)
772 if templ_7745c5c3_Var41 == nil {
773 templ_7745c5c3_Var41 = templ.NopComponent
774 }
775 ctx = templ.ClearChildren(ctx)
776 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "<section class=\"card readme\" aria-labelledby=\"readme-h\"><h2 class=\"card-h\" id=\"readme-h\"><span class=\"ico i-file\" aria-hidden=\"true\"></span> ")
777 if templ_7745c5c3_Err != nil {
778 return templ_7745c5c3_Err
779 }
780 var templ_7745c5c3_Var42 string
781 templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
782 if templ_7745c5c3_Err != nil {
783 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 118, Col: 11}
784 }
785 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42))
786 if templ_7745c5c3_Err != nil {
787 return templ_7745c5c3_Err
788 }
789 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "</h2>")
790 if templ_7745c5c3_Err != nil {
791 return templ_7745c5c3_Err
792 }
793 templ_7745c5c3_Err = ReadmeView(r).Render(ctx, templ_7745c5c3_Buffer)
794 if templ_7745c5c3_Err != nil {
795 return templ_7745c5c3_Err
796 }
797 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "</section>")
798 if templ_7745c5c3_Err != nil {
799 return templ_7745c5c3_Err
800 }
801 return nil
802 })
803}
804
805// ReadmeView is a rendered README. Its HTML comes from the Markdown
806// renderer, which drops raw HTML and filters URLs.
807func ReadmeView(r Readme) templ.Component {
808 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
809 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
810 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
811 return templ_7745c5c3_CtxErr
812 }
813 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
814 if !templ_7745c5c3_IsBuffer {
815 defer func() {
816 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
817 if templ_7745c5c3_Err == nil {
818 templ_7745c5c3_Err = templ_7745c5c3_BufErr
819 }
820 }()
821 }
822 ctx = templ.InitializeContext(ctx)
823 templ_7745c5c3_Var43 := templ.GetChildren(ctx)
824 if templ_7745c5c3_Var43 == nil {
825 templ_7745c5c3_Var43 = templ.NopComponent
826 }
827 ctx = templ.ClearChildren(ctx)
828 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "<article class=\"prose\" aria-label=\"")
829 if templ_7745c5c3_Err != nil {
830 return templ_7745c5c3_Err
831 }
832 var templ_7745c5c3_Var44 string
833 templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.Name)
834 if templ_7745c5c3_Err != nil {
835 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 127, Col: 43}
836 }
837 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var44)
838 if templ_7745c5c3_Err != nil {
839 return templ_7745c5c3_Err
840 }
841 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "\" hx-ignore>")
842 if templ_7745c5c3_Err != nil {
843 return templ_7745c5c3_Err
844 }
845 if r.Note != "" {
846 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "<p class=\"dim\">")
847 if templ_7745c5c3_Err != nil {
848 return templ_7745c5c3_Err
849 }
850 var templ_7745c5c3_Var45 string
851 templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(r.Note)
852 if templ_7745c5c3_Err != nil {
853 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 129, Col: 26}
854 }
855 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45))
856 if templ_7745c5c3_Err != nil {
857 return templ_7745c5c3_Err
858 }
859 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "</p>")
860 if templ_7745c5c3_Err != nil {
861 return templ_7745c5c3_Err
862 }
863 } else {
864 templ_7745c5c3_Err = templ.Raw(r.HTML).Render(ctx, templ_7745c5c3_Buffer)
865 if templ_7745c5c3_Err != nil {
866 return templ_7745c5c3_Err
867 }
868 }
869 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "</article>")
870 if templ_7745c5c3_Err != nil {
871 return templ_7745c5c3_Err
872 }
873 return nil
874 })
875}
876
877// CommitRows is a cursor table of commits: sha, subject with inline refs,
878// author, relative date (absolute in the title).
879func CommitRows(rows []CommitRow) templ.Component {
880 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
881 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
882 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
883 return templ_7745c5c3_CtxErr
884 }
885 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
886 if !templ_7745c5c3_IsBuffer {
887 defer func() {
888 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
889 if templ_7745c5c3_Err == nil {
890 templ_7745c5c3_Err = templ_7745c5c3_BufErr
891 }
892 }()
893 }
894 ctx = templ.InitializeContext(ctx)
895 templ_7745c5c3_Var46 := templ.GetChildren(ctx)
896 if templ_7745c5c3_Var46 == nil {
897 templ_7745c5c3_Var46 = templ.NopComponent
898 }
899 ctx = templ.ClearChildren(ctx)
900 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "<table class=\"list commits\" aria-label=\"Commits\"><tbody data-rows>")
901 if templ_7745c5c3_Err != nil {
902 return templ_7745c5c3_Err
903 }
904 for _, c := range rows {
905 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "<tr")
906 if templ_7745c5c3_Err != nil {
907 return templ_7745c5c3_Err
908 }
909 if c.ID != "" {
910 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, " id=\"")
911 if templ_7745c5c3_Err != nil {
912 return templ_7745c5c3_Err
913 }
914 var templ_7745c5c3_Var47 string
915 templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.ID)
916 if templ_7745c5c3_Err != nil {
917 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 144, Col: 15}
918 }
919 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var47)
920 if templ_7745c5c3_Err != nil {
921 return templ_7745c5c3_Err
922 }
923 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "\"")
924 if templ_7745c5c3_Err != nil {
925 return templ_7745c5c3_Err
926 }
927 }
928 if c.Cursor {
929 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, " data-cursor")
930 if templ_7745c5c3_Err != nil {
931 return templ_7745c5c3_Err
932 }
933 }
934 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "><td class=\"c-sha mute\">")
935 if templ_7745c5c3_Err != nil {
936 return templ_7745c5c3_Err
937 }
938 var templ_7745c5c3_Var48 string
939 templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
940 if templ_7745c5c3_Err != nil {
941 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 148, Col: 37}
942 }
943 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48))
944 if templ_7745c5c3_Err != nil {
945 return templ_7745c5c3_Err
946 }
947 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "</td><td class=\"c-subject\"><a href=\"")
948 if templ_7745c5c3_Err != nil {
949 return templ_7745c5c3_Err
950 }
951 var templ_7745c5c3_Var49 templ.SafeURL
952 templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
953 if templ_7745c5c3_Err != nil {
954 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 150, Col: 38}
955 }
956 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49))
957 if templ_7745c5c3_Err != nil {
958 return templ_7745c5c3_Err
959 }
960 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "\">")
961 if templ_7745c5c3_Err != nil {
962 return templ_7745c5c3_Err
963 }
964 var templ_7745c5c3_Var50 string
965 templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
966 if templ_7745c5c3_Err != nil {
967 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 150, Col: 52}
968 }
969 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var50))
970 if templ_7745c5c3_Err != nil {
971 return templ_7745c5c3_Err
972 }
973 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "</a> ")
974 if templ_7745c5c3_Err != nil {
975 return templ_7745c5c3_Err
976 }
977 if c.Merge {
978 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "<span class=\"pill\">merge</span> ")
979 if templ_7745c5c3_Err != nil {
980 return templ_7745c5c3_Err
981 }
982 }
983 for _, b := range c.Branches {
984 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, "<span class=\"pill\">")
985 if templ_7745c5c3_Err != nil {
986 return templ_7745c5c3_Err
987 }
988 var templ_7745c5c3_Var51 string
989 templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.JoinStringErrs(b)
990 if templ_7745c5c3_Err != nil {
991 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 155, Col: 29}
992 }
993 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var51))
994 if templ_7745c5c3_Err != nil {
995 return templ_7745c5c3_Err
996 }
997 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, "</span> ")
998 if templ_7745c5c3_Err != nil {
999 return templ_7745c5c3_Err
1000 }
1001 }
1002 for _, t := range c.Tags {
1003 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, "<span class=\"pill tag\"><span class=\"sr\">tag </span>")
1004 if templ_7745c5c3_Err != nil {
1005 return templ_7745c5c3_Err
1006 }
1007 var templ_7745c5c3_Var52 string
1008 templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(t)
1009 if templ_7745c5c3_Err != nil {
1010 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 158, Col: 61}
1011 }
1012 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52))
1013 if templ_7745c5c3_Err != nil {
1014 return templ_7745c5c3_Err
1015 }
1016 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, "</span>")
1017 if templ_7745c5c3_Err != nil {
1018 return templ_7745c5c3_Err
1019 }
1020 }
1021 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, "</td><td class=\"c-ck\">")
1022 if templ_7745c5c3_Err != nil {
1023 return templ_7745c5c3_Err
1024 }
1025 templ_7745c5c3_Err = CommitChecks(c.Checks).Render(ctx, templ_7745c5c3_Buffer)
1026 if templ_7745c5c3_Err != nil {
1027 return templ_7745c5c3_Err
1028 }
1029 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "</td><td class=\"c-who dim\">")
1030 if templ_7745c5c3_Err != nil {
1031 return templ_7745c5c3_Err
1032 }
1033 var templ_7745c5c3_Var53 string
1034 templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author)
1035 if templ_7745c5c3_Err != nil {
1036 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 162, Col: 37}
1037 }
1038 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53))
1039 if templ_7745c5c3_Err != nil {
1040 return templ_7745c5c3_Err
1041 }
1042 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, "</td><td class=\"c-when nowrap dim\"><time datetime=\"")
1043 if templ_7745c5c3_Err != nil {
1044 return templ_7745c5c3_Err
1045 }
1046 var templ_7745c5c3_Var54 string
1047 templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
1048 if templ_7745c5c3_Err != nil {
1049 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 163, Col: 60}
1050 }
1051 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var54)
1052 if templ_7745c5c3_Err != nil {
1053 return templ_7745c5c3_Err
1054 }
1055 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, "\" title=\"")
1056 if templ_7745c5c3_Err != nil {
1057 return templ_7745c5c3_Err
1058 }
1059 var templ_7745c5c3_Var55 string
1060 templ_7745c5c3_Var55, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
1061 if templ_7745c5c3_Err != nil {
1062 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 163, Col: 79}
1063 }
1064 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var55)
1065 if templ_7745c5c3_Err != nil {
1066 return templ_7745c5c3_Err
1067 }
1068 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "\">")
1069 if templ_7745c5c3_Err != nil {
1070 return templ_7745c5c3_Err
1071 }
1072 var templ_7745c5c3_Var56 string
1073 templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
1074 if templ_7745c5c3_Err != nil {
1075 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 163, Col: 90}
1076 }
1077 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var56))
1078 if templ_7745c5c3_Err != nil {
1079 return templ_7745c5c3_Err
1080 }
1081 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, "</time></td></tr>")
1082 if templ_7745c5c3_Err != nil {
1083 return templ_7745c5c3_Err
1084 }
1085 }
1086 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "</tbody></table>")
1087 if templ_7745c5c3_Err != nil {
1088 return templ_7745c5c3_Err
1089 }
1090 return nil
1091 })
1092}
1093
1094var _ = templruntime.GeneratedTemplate