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, "<p class=\"repo-meta\">")
268 if templ_7745c5c3_Err != nil {
269 return templ_7745c5c3_Err
270 }
271 if r.Branch != "" {
272 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "<span class=\"repo-branch\"><span class=\"ico i-branch\" aria-hidden=\"true\"></span>")
273 if templ_7745c5c3_Err != nil {
274 return templ_7745c5c3_Err
275 }
276 var templ_7745c5c3_Var12 string
277 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(r.Branch)
278 if templ_7745c5c3_Err != nil {
279 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 57, Col: 94}
280 }
281 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
282 if templ_7745c5c3_Err != nil {
283 return templ_7745c5c3_Err
284 }
285 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "</span> ")
286 if templ_7745c5c3_Err != nil {
287 return templ_7745c5c3_Err
288 }
289 }
290 if r.PushedAt != "" {
291 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "<span>pushed <time datetime=\"")
292 if templ_7745c5c3_Err != nil {
293 return templ_7745c5c3_Err
294 }
295 var templ_7745c5c3_Var13 string
296 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.PushedAt)
297 if templ_7745c5c3_Err != nil {
298 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 60, Col: 45}
299 }
300 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var13)
301 if templ_7745c5c3_Err != nil {
302 return templ_7745c5c3_Err
303 }
304 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "\" title=\"")
305 if templ_7745c5c3_Err != nil {
306 return templ_7745c5c3_Err
307 }
308 var templ_7745c5c3_Var14 string
309 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.PushedAt)
310 if templ_7745c5c3_Err != nil {
311 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 60, Col: 66}
312 }
313 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var14)
314 if templ_7745c5c3_Err != nil {
315 return templ_7745c5c3_Err
316 }
317 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\">")
318 if templ_7745c5c3_Err != nil {
319 return templ_7745c5c3_Err
320 }
321 var templ_7745c5c3_Var15 string
322 templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(r.Pushed)
323 if templ_7745c5c3_Err != nil {
324 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 60, Col: 79}
325 }
326 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
327 if templ_7745c5c3_Err != nil {
328 return templ_7745c5c3_Err
329 }
330 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</time></span>")
331 if templ_7745c5c3_Err != nil {
332 return templ_7745c5c3_Err
333 }
334 } else {
335 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "<span>never pushed</span>")
336 if templ_7745c5c3_Err != nil {
337 return templ_7745c5c3_Err
338 }
339 }
340 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "</p></div>")
341 if templ_7745c5c3_Err != nil {
342 return templ_7745c5c3_Err
343 }
344 if r.CI != nil {
345 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "<a class=\"repo-ci\" href=\"")
346 if templ_7745c5c3_Err != nil {
347 return templ_7745c5c3_Err
348 }
349 var templ_7745c5c3_Var16 templ.SafeURL
350 templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.CI.Href))
351 if templ_7745c5c3_Err != nil {
352 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 67, Col: 53}
353 }
354 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
355 if templ_7745c5c3_Err != nil {
356 return templ_7745c5c3_Err
357 }
358 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\" title=\"")
359 if templ_7745c5c3_Err != nil {
360 return templ_7745c5c3_Err
361 }
362 var templ_7745c5c3_Var17 string
363 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.CI.Title)
364 if templ_7745c5c3_Err != nil {
365 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 67, Col: 74}
366 }
367 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17)
368 if templ_7745c5c3_Err != nil {
369 return templ_7745c5c3_Err
370 }
371 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "\">")
372 if templ_7745c5c3_Err != nil {
373 return templ_7745c5c3_Err
374 }
375 var templ_7745c5c3_Var18 = []any{"ck", "ck-" + r.CI.Kind}
376 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var18...)
377 if templ_7745c5c3_Err != nil {
378 return templ_7745c5c3_Err
379 }
380 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "<span class=\"")
381 if templ_7745c5c3_Err != nil {
382 return templ_7745c5c3_Err
383 }
384 var templ_7745c5c3_Var19 string
385 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var18).String())
386 if templ_7745c5c3_Err != nil {
387 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 1, Col: 0}
388 }
389 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var19)
390 if templ_7745c5c3_Err != nil {
391 return templ_7745c5c3_Err
392 }
393 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "\" aria-hidden=\"true\"></span> <span class=\"sr\">CI: </span>")
394 if templ_7745c5c3_Err != nil {
395 return templ_7745c5c3_Err
396 }
397 var templ_7745c5c3_Var20 string
398 templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(r.CI.Label)
399 if templ_7745c5c3_Err != nil {
400 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 69, Col: 44}
401 }
402 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
403 if templ_7745c5c3_Err != nil {
404 return templ_7745c5c3_Err
405 }
406 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</a> ")
407 if templ_7745c5c3_Err != nil {
408 return templ_7745c5c3_Err
409 }
410 }
411 if len(r.Commits) > 0 {
412 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<ul class=\"repo-commits\" aria-label=\"")
413 if templ_7745c5c3_Err != nil {
414 return templ_7745c5c3_Err
415 }
416 var templ_7745c5c3_Var21 string
417 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.ResolveAttributeValue("Recent commits of " + r.Name)
418 if templ_7745c5c3_Err != nil {
419 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 73, Col: 70}
420 }
421 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var21)
422 if templ_7745c5c3_Err != nil {
423 return templ_7745c5c3_Err
424 }
425 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "\">")
426 if templ_7745c5c3_Err != nil {
427 return templ_7745c5c3_Err
428 }
429 for _, c := range r.Commits {
430 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<li><a class=\"rc-sha\" href=\"")
431 if templ_7745c5c3_Err != nil {
432 return templ_7745c5c3_Err
433 }
434 var templ_7745c5c3_Var22 templ.SafeURL
435 templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
436 if templ_7745c5c3_Err != nil {
437 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 76, Col: 53}
438 }
439 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
440 if templ_7745c5c3_Err != nil {
441 return templ_7745c5c3_Err
442 }
443 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "\">")
444 if templ_7745c5c3_Err != nil {
445 return templ_7745c5c3_Err
446 }
447 var templ_7745c5c3_Var23 string
448 templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
449 if templ_7745c5c3_Err != nil {
450 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 76, Col: 65}
451 }
452 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
453 if templ_7745c5c3_Err != nil {
454 return templ_7745c5c3_Err
455 }
456 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</a> <span class=\"rc-subject\" title=\"")
457 if templ_7745c5c3_Err != nil {
458 return templ_7745c5c3_Err
459 }
460 var templ_7745c5c3_Var24 string
461 templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Subject)
462 if templ_7745c5c3_Err != nil {
463 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 77, Col: 48}
464 }
465 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var24)
466 if templ_7745c5c3_Err != nil {
467 return templ_7745c5c3_Err
468 }
469 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "\">")
470 if templ_7745c5c3_Err != nil {
471 return templ_7745c5c3_Err
472 }
473 var templ_7745c5c3_Var25 string
474 templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
475 if templ_7745c5c3_Err != nil {
476 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 77, Col: 62}
477 }
478 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
479 if templ_7745c5c3_Err != nil {
480 return templ_7745c5c3_Err
481 }
482 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</span> ")
483 if templ_7745c5c3_Err != nil {
484 return templ_7745c5c3_Err
485 }
486 if c.WhenAt != "" {
487 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<time class=\"dim\" datetime=\"")
488 if templ_7745c5c3_Err != nil {
489 return templ_7745c5c3_Err
490 }
491 var templ_7745c5c3_Var26 string
492 templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
493 if templ_7745c5c3_Err != nil {
494 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 79, Col: 44}
495 }
496 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var26)
497 if templ_7745c5c3_Err != nil {
498 return templ_7745c5c3_Err
499 }
500 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "\" title=\"")
501 if templ_7745c5c3_Err != nil {
502 return templ_7745c5c3_Err
503 }
504 var templ_7745c5c3_Var27 string
505 templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
506 if templ_7745c5c3_Err != nil {
507 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 79, Col: 63}
508 }
509 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var27)
510 if templ_7745c5c3_Err != nil {
511 return templ_7745c5c3_Err
512 }
513 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "\">")
514 if templ_7745c5c3_Err != nil {
515 return templ_7745c5c3_Err
516 }
517 var templ_7745c5c3_Var28 string
518 templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
519 if templ_7745c5c3_Err != nil {
520 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 79, Col: 74}
521 }
522 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28))
523 if templ_7745c5c3_Err != nil {
524 return templ_7745c5c3_Err
525 }
526 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "</time>")
527 if templ_7745c5c3_Err != nil {
528 return templ_7745c5c3_Err
529 }
530 }
531 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</li>")
532 if templ_7745c5c3_Err != nil {
533 return templ_7745c5c3_Err
534 }
535 }
536 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</ul>")
537 if templ_7745c5c3_Err != nil {
538 return templ_7745c5c3_Err
539 }
540 } else if r.NoCommits {
541 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "<p class=\"repo-commits mute\">no commits yet</p>")
542 if templ_7745c5c3_Err != nil {
543 return templ_7745c5c3_Err
544 }
545 }
546 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "</li>")
547 if templ_7745c5c3_Err != nil {
548 return templ_7745c5c3_Err
549 }
550 return nil
551 })
552}
553
554// Outline is the README outline; levels indent by 2ch, the h1 is bold.
555func Outline(headings []Heading) templ.Component {
556 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
557 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
558 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
559 return templ_7745c5c3_CtxErr
560 }
561 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
562 if !templ_7745c5c3_IsBuffer {
563 defer func() {
564 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
565 if templ_7745c5c3_Err == nil {
566 templ_7745c5c3_Err = templ_7745c5c3_BufErr
567 }
568 }()
569 }
570 ctx = templ.InitializeContext(ctx)
571 templ_7745c5c3_Var29 := templ.GetChildren(ctx)
572 if templ_7745c5c3_Var29 == nil {
573 templ_7745c5c3_Var29 = templ.NopComponent
574 }
575 ctx = templ.ClearChildren(ctx)
576 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "<nav class=\"outline\" aria-label=\"Outline\">")
577 if templ_7745c5c3_Err != nil {
578 return templ_7745c5c3_Err
579 }
580 for _, h := range headings {
581 var templ_7745c5c3_Var30 = []any{"l" + itoa(h.Level)}
582 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var30...)
583 if templ_7745c5c3_Err != nil {
584 return templ_7745c5c3_Err
585 }
586 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "<a class=\"")
587 if templ_7745c5c3_Err != nil {
588 return templ_7745c5c3_Err
589 }
590 var templ_7745c5c3_Var31 string
591 templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var30).String())
592 if templ_7745c5c3_Err != nil {
593 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 1, Col: 0}
594 }
595 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31)
596 if templ_7745c5c3_Err != nil {
597 return templ_7745c5c3_Err
598 }
599 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\" href=\"")
600 if templ_7745c5c3_Err != nil {
601 return templ_7745c5c3_Err
602 }
603 var templ_7745c5c3_Var32 templ.SafeURL
604 templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("#" + h.ID))
605 if templ_7745c5c3_Err != nil {
606 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 94, Col: 68}
607 }
608 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
609 if templ_7745c5c3_Err != nil {
610 return templ_7745c5c3_Err
611 }
612 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "\">")
613 if templ_7745c5c3_Err != nil {
614 return templ_7745c5c3_Err
615 }
616 var templ_7745c5c3_Var33 string
617 templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(h.Text)
618 if templ_7745c5c3_Err != nil {
619 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 94, Col: 79}
620 }
621 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33))
622 if templ_7745c5c3_Err != nil {
623 return templ_7745c5c3_Err
624 }
625 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "</a>")
626 if templ_7745c5c3_Err != nil {
627 return templ_7745c5c3_Err
628 }
629 }
630 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</nav>")
631 if templ_7745c5c3_Err != nil {
632 return templ_7745c5c3_Err
633 }
634 return nil
635 })
636}
637
638// ReadmeCard is a README in a card whose header names the file.
639func ReadmeCard(r Readme) templ.Component {
640 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
641 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
642 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
643 return templ_7745c5c3_CtxErr
644 }
645 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
646 if !templ_7745c5c3_IsBuffer {
647 defer func() {
648 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
649 if templ_7745c5c3_Err == nil {
650 templ_7745c5c3_Err = templ_7745c5c3_BufErr
651 }
652 }()
653 }
654 ctx = templ.InitializeContext(ctx)
655 templ_7745c5c3_Var34 := templ.GetChildren(ctx)
656 if templ_7745c5c3_Var34 == nil {
657 templ_7745c5c3_Var34 = templ.NopComponent
658 }
659 ctx = templ.ClearChildren(ctx)
660 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "<section class=\"card readme\" aria-labelledby=\"readme-h\"><h2 class=\"card-h\" id=\"readme-h\"><span class=\"ico i-file\" aria-hidden=\"true\"></span> ")
661 if templ_7745c5c3_Err != nil {
662 return templ_7745c5c3_Err
663 }
664 var templ_7745c5c3_Var35 string
665 templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
666 if templ_7745c5c3_Err != nil {
667 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 104, Col: 11}
668 }
669 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35))
670 if templ_7745c5c3_Err != nil {
671 return templ_7745c5c3_Err
672 }
673 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</h2>")
674 if templ_7745c5c3_Err != nil {
675 return templ_7745c5c3_Err
676 }
677 templ_7745c5c3_Err = ReadmeView(r).Render(ctx, templ_7745c5c3_Buffer)
678 if templ_7745c5c3_Err != nil {
679 return templ_7745c5c3_Err
680 }
681 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</section>")
682 if templ_7745c5c3_Err != nil {
683 return templ_7745c5c3_Err
684 }
685 return nil
686 })
687}
688
689// ReadmeView is a rendered README. Its HTML comes from the Markdown
690// renderer, which drops raw HTML and filters URLs.
691func ReadmeView(r Readme) templ.Component {
692 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
693 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
694 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
695 return templ_7745c5c3_CtxErr
696 }
697 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
698 if !templ_7745c5c3_IsBuffer {
699 defer func() {
700 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
701 if templ_7745c5c3_Err == nil {
702 templ_7745c5c3_Err = templ_7745c5c3_BufErr
703 }
704 }()
705 }
706 ctx = templ.InitializeContext(ctx)
707 templ_7745c5c3_Var36 := templ.GetChildren(ctx)
708 if templ_7745c5c3_Var36 == nil {
709 templ_7745c5c3_Var36 = templ.NopComponent
710 }
711 ctx = templ.ClearChildren(ctx)
712 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "<article class=\"prose\" aria-label=\"")
713 if templ_7745c5c3_Err != nil {
714 return templ_7745c5c3_Err
715 }
716 var templ_7745c5c3_Var37 string
717 templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.Name)
718 if templ_7745c5c3_Err != nil {
719 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 113, Col: 43}
720 }
721 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var37)
722 if templ_7745c5c3_Err != nil {
723 return templ_7745c5c3_Err
724 }
725 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "\" hx-ignore>")
726 if templ_7745c5c3_Err != nil {
727 return templ_7745c5c3_Err
728 }
729 if r.Note != "" {
730 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "<p class=\"dim\">")
731 if templ_7745c5c3_Err != nil {
732 return templ_7745c5c3_Err
733 }
734 var templ_7745c5c3_Var38 string
735 templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(r.Note)
736 if templ_7745c5c3_Err != nil {
737 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 115, Col: 26}
738 }
739 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38))
740 if templ_7745c5c3_Err != nil {
741 return templ_7745c5c3_Err
742 }
743 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "</p>")
744 if templ_7745c5c3_Err != nil {
745 return templ_7745c5c3_Err
746 }
747 } else {
748 templ_7745c5c3_Err = templ.Raw(r.HTML).Render(ctx, templ_7745c5c3_Buffer)
749 if templ_7745c5c3_Err != nil {
750 return templ_7745c5c3_Err
751 }
752 }
753 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "</article>")
754 if templ_7745c5c3_Err != nil {
755 return templ_7745c5c3_Err
756 }
757 return nil
758 })
759}
760
761// CommitRows is a cursor table of commits: sha, subject with inline refs,
762// author, relative date (absolute in the title).
763func CommitRows(rows []CommitRow) templ.Component {
764 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
765 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
766 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
767 return templ_7745c5c3_CtxErr
768 }
769 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
770 if !templ_7745c5c3_IsBuffer {
771 defer func() {
772 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
773 if templ_7745c5c3_Err == nil {
774 templ_7745c5c3_Err = templ_7745c5c3_BufErr
775 }
776 }()
777 }
778 ctx = templ.InitializeContext(ctx)
779 templ_7745c5c3_Var39 := templ.GetChildren(ctx)
780 if templ_7745c5c3_Var39 == nil {
781 templ_7745c5c3_Var39 = templ.NopComponent
782 }
783 ctx = templ.ClearChildren(ctx)
784 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "<table class=\"list commits\" aria-label=\"Commits\"><tbody data-rows>")
785 if templ_7745c5c3_Err != nil {
786 return templ_7745c5c3_Err
787 }
788 for _, c := range rows {
789 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "<tr")
790 if templ_7745c5c3_Err != nil {
791 return templ_7745c5c3_Err
792 }
793 if c.ID != "" {
794 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, " id=\"")
795 if templ_7745c5c3_Err != nil {
796 return templ_7745c5c3_Err
797 }
798 var templ_7745c5c3_Var40 string
799 templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.ID)
800 if templ_7745c5c3_Err != nil {
801 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 130, Col: 15}
802 }
803 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var40)
804 if templ_7745c5c3_Err != nil {
805 return templ_7745c5c3_Err
806 }
807 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "\"")
808 if templ_7745c5c3_Err != nil {
809 return templ_7745c5c3_Err
810 }
811 }
812 if c.Cursor {
813 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, " data-cursor")
814 if templ_7745c5c3_Err != nil {
815 return templ_7745c5c3_Err
816 }
817 }
818 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-sha mute\">")
819 if templ_7745c5c3_Err != nil {
820 return templ_7745c5c3_Err
821 }
822 var templ_7745c5c3_Var41 string
823 templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
824 if templ_7745c5c3_Err != nil {
825 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 135, Col: 37}
826 }
827 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41))
828 if templ_7745c5c3_Err != nil {
829 return templ_7745c5c3_Err
830 }
831 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "</td><td class=\"c-subject\"><a href=\"")
832 if templ_7745c5c3_Err != nil {
833 return templ_7745c5c3_Err
834 }
835 var templ_7745c5c3_Var42 templ.SafeURL
836 templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
837 if templ_7745c5c3_Err != nil {
838 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 137, Col: 38}
839 }
840 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42))
841 if templ_7745c5c3_Err != nil {
842 return templ_7745c5c3_Err
843 }
844 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "\">")
845 if templ_7745c5c3_Err != nil {
846 return templ_7745c5c3_Err
847 }
848 var templ_7745c5c3_Var43 string
849 templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
850 if templ_7745c5c3_Err != nil {
851 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 137, Col: 52}
852 }
853 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43))
854 if templ_7745c5c3_Err != nil {
855 return templ_7745c5c3_Err
856 }
857 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "</a> ")
858 if templ_7745c5c3_Err != nil {
859 return templ_7745c5c3_Err
860 }
861 if c.Merge {
862 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "<span class=\"pill\">merge</span> ")
863 if templ_7745c5c3_Err != nil {
864 return templ_7745c5c3_Err
865 }
866 }
867 for _, b := range c.Branches {
868 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "<span class=\"pill\">")
869 if templ_7745c5c3_Err != nil {
870 return templ_7745c5c3_Err
871 }
872 var templ_7745c5c3_Var44 string
873 templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(b)
874 if templ_7745c5c3_Err != nil {
875 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 142, Col: 29}
876 }
877 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44))
878 if templ_7745c5c3_Err != nil {
879 return templ_7745c5c3_Err
880 }
881 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "</span> ")
882 if templ_7745c5c3_Err != nil {
883 return templ_7745c5c3_Err
884 }
885 }
886 for _, t := range c.Tags {
887 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "<span class=\"pill tag\"><span class=\"sr\">tag </span>")
888 if templ_7745c5c3_Err != nil {
889 return templ_7745c5c3_Err
890 }
891 var templ_7745c5c3_Var45 string
892 templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(t)
893 if templ_7745c5c3_Err != nil {
894 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 145, Col: 61}
895 }
896 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45))
897 if templ_7745c5c3_Err != nil {
898 return templ_7745c5c3_Err
899 }
900 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "</span>")
901 if templ_7745c5c3_Err != nil {
902 return templ_7745c5c3_Err
903 }
904 }
905 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "</td><td class=\"c-ck\">")
906 if templ_7745c5c3_Err != nil {
907 return templ_7745c5c3_Err
908 }
909 templ_7745c5c3_Err = CommitChecks(c.Checks).Render(ctx, templ_7745c5c3_Buffer)
910 if templ_7745c5c3_Err != nil {
911 return templ_7745c5c3_Err
912 }
913 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "</td><td class=\"c-who dim\">")
914 if templ_7745c5c3_Err != nil {
915 return templ_7745c5c3_Err
916 }
917 var templ_7745c5c3_Var46 string
918 templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author)
919 if templ_7745c5c3_Err != nil {
920 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 149, Col: 37}
921 }
922 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46))
923 if templ_7745c5c3_Err != nil {
924 return templ_7745c5c3_Err
925 }
926 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "</td><td class=\"c-when nowrap dim\"><time datetime=\"")
927 if templ_7745c5c3_Err != nil {
928 return templ_7745c5c3_Err
929 }
930 var templ_7745c5c3_Var47 string
931 templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
932 if templ_7745c5c3_Err != nil {
933 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 150, Col: 60}
934 }
935 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var47)
936 if templ_7745c5c3_Err != nil {
937 return templ_7745c5c3_Err
938 }
939 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "\" title=\"")
940 if templ_7745c5c3_Err != nil {
941 return templ_7745c5c3_Err
942 }
943 var templ_7745c5c3_Var48 string
944 templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
945 if templ_7745c5c3_Err != nil {
946 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 150, Col: 79}
947 }
948 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var48)
949 if templ_7745c5c3_Err != nil {
950 return templ_7745c5c3_Err
951 }
952 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "\">")
953 if templ_7745c5c3_Err != nil {
954 return templ_7745c5c3_Err
955 }
956 var templ_7745c5c3_Var49 string
957 templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
958 if templ_7745c5c3_Err != nil {
959 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 150, Col: 90}
960 }
961 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49))
962 if templ_7745c5c3_Err != nil {
963 return templ_7745c5c3_Err
964 }
965 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "</time></td></tr>")
966 if templ_7745c5c3_Err != nil {
967 return templ_7745c5c3_Err
968 }
969 }
970 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "</tbody></table>")
971 if templ_7745c5c3_Err != nil {
972 return templ_7745c5c3_Err
973 }
974 return nil
975 })
976}
977
978var _ = templruntime.GeneratedTemplate