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=\"copy\" 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: 26, 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=\"navigator.clipboard?.writeText(closest('.clone-line').querySelector('code').textContent); this.textContent = '[copied]'; await timeout('1500ms'); this.textContent = this.dataset.label\">[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// HomeRow is one row of the home list. Its id is the target of SSE swaps.
151func HomeRowView(r HomeRow) templ.Component {
152 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
153 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
154 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
155 return templ_7745c5c3_CtxErr
156 }
157 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
158 if !templ_7745c5c3_IsBuffer {
159 defer func() {
160 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
161 if templ_7745c5c3_Err == nil {
162 templ_7745c5c3_Err = templ_7745c5c3_BufErr
163 }
164 }()
165 }
166 ctx = templ.InitializeContext(ctx)
167 templ_7745c5c3_Var7 := templ.GetChildren(ctx)
168 if templ_7745c5c3_Var7 == nil {
169 templ_7745c5c3_Var7 = templ.NopComponent
170 }
171 ctx = templ.ClearChildren(ctx)
172 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "<tr id=\"")
173 if templ_7745c5c3_Err != nil {
174 return templ_7745c5c3_Err
175 }
176 var templ_7745c5c3_Var8 string
177 templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.ID)
178 if templ_7745c5c3_Err != nil {
179 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 36, Col: 14}
180 }
181 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8)
182 if templ_7745c5c3_Err != nil {
183 return templ_7745c5c3_Err
184 }
185 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "\"")
186 if templ_7745c5c3_Err != nil {
187 return templ_7745c5c3_Err
188 }
189 if r.Cursor {
190 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, " data-cursor")
191 if templ_7745c5c3_Err != nil {
192 return templ_7745c5c3_Err
193 }
194 }
195 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-name\"><a href=\"")
196 if templ_7745c5c3_Err != nil {
197 return templ_7745c5c3_Err
198 }
199 var templ_7745c5c3_Var9 templ.SafeURL
200 templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
201 if templ_7745c5c3_Err != nil {
202 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 39, Col: 34}
203 }
204 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
205 if templ_7745c5c3_Err != nil {
206 return templ_7745c5c3_Err
207 }
208 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\">")
209 if templ_7745c5c3_Err != nil {
210 return templ_7745c5c3_Err
211 }
212 var templ_7745c5c3_Var10 string
213 templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
214 if templ_7745c5c3_Err != nil {
215 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 39, Col: 45}
216 }
217 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
218 if templ_7745c5c3_Err != nil {
219 return templ_7745c5c3_Err
220 }
221 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</a> ")
222 if templ_7745c5c3_Err != nil {
223 return templ_7745c5c3_Err
224 }
225 if r.Fresh {
226 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<span class=\"tagged\">● new push</span>")
227 if templ_7745c5c3_Err != nil {
228 return templ_7745c5c3_Err
229 }
230 }
231 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</td><td class=\"c-desc dim\">")
232 if templ_7745c5c3_Err != nil {
233 return templ_7745c5c3_Err
234 }
235 var templ_7745c5c3_Var11 string
236 templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(r.Desc)
237 if templ_7745c5c3_Err != nil {
238 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 44, Col: 33}
239 }
240 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
241 if templ_7745c5c3_Err != nil {
242 return templ_7745c5c3_Err
243 }
244 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</td><td class=\"c-when nowrap\"><time")
245 if templ_7745c5c3_Err != nil {
246 return templ_7745c5c3_Err
247 }
248 if r.PushedAt != "" {
249 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, " datetime=\"")
250 if templ_7745c5c3_Err != nil {
251 return templ_7745c5c3_Err
252 }
253 var templ_7745c5c3_Var12 string
254 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.PushedAt)
255 if templ_7745c5c3_Err != nil {
256 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 48, Col: 26}
257 }
258 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var12)
259 if templ_7745c5c3_Err != nil {
260 return templ_7745c5c3_Err
261 }
262 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "\"")
263 if templ_7745c5c3_Err != nil {
264 return templ_7745c5c3_Err
265 }
266 }
267 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, ">")
268 if templ_7745c5c3_Err != nil {
269 return templ_7745c5c3_Err
270 }
271 var templ_7745c5c3_Var13 string
272 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(r.Pushed)
273 if templ_7745c5c3_Err != nil {
274 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 50, Col: 14}
275 }
276 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
277 if templ_7745c5c3_Err != nil {
278 return templ_7745c5c3_Err
279 }
280 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</time></td><td class=\"c-ref\">")
281 if templ_7745c5c3_Err != nil {
282 return templ_7745c5c3_Err
283 }
284 var templ_7745c5c3_Var14 string
285 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(r.Branch)
286 if templ_7745c5c3_Err != nil {
287 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 52, Col: 30}
288 }
289 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
290 if templ_7745c5c3_Err != nil {
291 return templ_7745c5c3_Err
292 }
293 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</td></tr>")
294 if templ_7745c5c3_Err != nil {
295 return templ_7745c5c3_Err
296 }
297 return nil
298 })
299}
300
301// Outline is the README outline; levels indent by 2ch, the h1 is bold.
302func Outline(headings []Heading) templ.Component {
303 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
304 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
305 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
306 return templ_7745c5c3_CtxErr
307 }
308 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
309 if !templ_7745c5c3_IsBuffer {
310 defer func() {
311 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
312 if templ_7745c5c3_Err == nil {
313 templ_7745c5c3_Err = templ_7745c5c3_BufErr
314 }
315 }()
316 }
317 ctx = templ.InitializeContext(ctx)
318 templ_7745c5c3_Var15 := templ.GetChildren(ctx)
319 if templ_7745c5c3_Var15 == nil {
320 templ_7745c5c3_Var15 = templ.NopComponent
321 }
322 ctx = templ.ClearChildren(ctx)
323 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<nav class=\"outline\" aria-label=\"Outline\">")
324 if templ_7745c5c3_Err != nil {
325 return templ_7745c5c3_Err
326 }
327 for _, h := range headings {
328 var templ_7745c5c3_Var16 = []any{"l" + itoa(h.Level)}
329 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var16...)
330 if templ_7745c5c3_Err != nil {
331 return templ_7745c5c3_Err
332 }
333 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "<a class=\"")
334 if templ_7745c5c3_Err != nil {
335 return templ_7745c5c3_Err
336 }
337 var templ_7745c5c3_Var17 string
338 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var16).String())
339 if templ_7745c5c3_Err != nil {
340 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 1, Col: 0}
341 }
342 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17)
343 if templ_7745c5c3_Err != nil {
344 return templ_7745c5c3_Err
345 }
346 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "\" href=\"")
347 if templ_7745c5c3_Err != nil {
348 return templ_7745c5c3_Err
349 }
350 var templ_7745c5c3_Var18 templ.SafeURL
351 templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("#" + h.ID))
352 if templ_7745c5c3_Err != nil {
353 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 60, Col: 68}
354 }
355 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
356 if templ_7745c5c3_Err != nil {
357 return templ_7745c5c3_Err
358 }
359 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\">")
360 if templ_7745c5c3_Err != nil {
361 return templ_7745c5c3_Err
362 }
363 var templ_7745c5c3_Var19 string
364 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(h.Text)
365 if templ_7745c5c3_Err != nil {
366 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 60, Col: 79}
367 }
368 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
369 if templ_7745c5c3_Err != nil {
370 return templ_7745c5c3_Err
371 }
372 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</a>")
373 if templ_7745c5c3_Err != nil {
374 return templ_7745c5c3_Err
375 }
376 }
377 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</nav>")
378 if templ_7745c5c3_Err != nil {
379 return templ_7745c5c3_Err
380 }
381 return nil
382 })
383}
384
385// ReadmeView is a rendered README. Its HTML comes from the Markdown
386// renderer, which drops raw HTML and filters URLs.
387func ReadmeView(r Readme) templ.Component {
388 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
389 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
390 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
391 return templ_7745c5c3_CtxErr
392 }
393 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
394 if !templ_7745c5c3_IsBuffer {
395 defer func() {
396 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
397 if templ_7745c5c3_Err == nil {
398 templ_7745c5c3_Err = templ_7745c5c3_BufErr
399 }
400 }()
401 }
402 ctx = templ.InitializeContext(ctx)
403 templ_7745c5c3_Var20 := templ.GetChildren(ctx)
404 if templ_7745c5c3_Var20 == nil {
405 templ_7745c5c3_Var20 = templ.NopComponent
406 }
407 ctx = templ.ClearChildren(ctx)
408 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "<article class=\"prose\" aria-label=\"")
409 if templ_7745c5c3_Err != nil {
410 return templ_7745c5c3_Err
411 }
412 var templ_7745c5c3_Var21 string
413 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.Name)
414 if templ_7745c5c3_Err != nil {
415 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 68, Col: 43}
416 }
417 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var21)
418 if templ_7745c5c3_Err != nil {
419 return templ_7745c5c3_Err
420 }
421 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\">")
422 if templ_7745c5c3_Err != nil {
423 return templ_7745c5c3_Err
424 }
425 if r.Note != "" {
426 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "<p class=\"dim\">")
427 if templ_7745c5c3_Err != nil {
428 return templ_7745c5c3_Err
429 }
430 var templ_7745c5c3_Var22 string
431 templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(r.Note)
432 if templ_7745c5c3_Err != nil {
433 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 70, Col: 26}
434 }
435 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
436 if templ_7745c5c3_Err != nil {
437 return templ_7745c5c3_Err
438 }
439 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</p>")
440 if templ_7745c5c3_Err != nil {
441 return templ_7745c5c3_Err
442 }
443 } else {
444 templ_7745c5c3_Err = templ.Raw(r.HTML).Render(ctx, templ_7745c5c3_Buffer)
445 if templ_7745c5c3_Err != nil {
446 return templ_7745c5c3_Err
447 }
448 }
449 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</article>")
450 if templ_7745c5c3_Err != nil {
451 return templ_7745c5c3_Err
452 }
453 return nil
454 })
455}
456
457// CommitRows is a cursor table of commits: sha, subject with inline refs,
458// author, relative date (absolute in the title).
459func CommitRows(rows []CommitRow) templ.Component {
460 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
461 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
462 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
463 return templ_7745c5c3_CtxErr
464 }
465 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
466 if !templ_7745c5c3_IsBuffer {
467 defer func() {
468 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
469 if templ_7745c5c3_Err == nil {
470 templ_7745c5c3_Err = templ_7745c5c3_BufErr
471 }
472 }()
473 }
474 ctx = templ.InitializeContext(ctx)
475 templ_7745c5c3_Var23 := templ.GetChildren(ctx)
476 if templ_7745c5c3_Var23 == nil {
477 templ_7745c5c3_Var23 = templ.NopComponent
478 }
479 ctx = templ.ClearChildren(ctx)
480 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<table class=\"list commits\" aria-label=\"Commits\"><tbody data-rows>")
481 if templ_7745c5c3_Err != nil {
482 return templ_7745c5c3_Err
483 }
484 for _, c := range rows {
485 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "<tr")
486 if templ_7745c5c3_Err != nil {
487 return templ_7745c5c3_Err
488 }
489 if c.ID != "" {
490 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, " id=\"")
491 if templ_7745c5c3_Err != nil {
492 return templ_7745c5c3_Err
493 }
494 var templ_7745c5c3_Var24 string
495 templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.ID)
496 if templ_7745c5c3_Err != nil {
497 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 85, Col: 15}
498 }
499 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var24)
500 if templ_7745c5c3_Err != nil {
501 return templ_7745c5c3_Err
502 }
503 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "\"")
504 if templ_7745c5c3_Err != nil {
505 return templ_7745c5c3_Err
506 }
507 }
508 if c.Cursor {
509 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, " data-cursor")
510 if templ_7745c5c3_Err != nil {
511 return templ_7745c5c3_Err
512 }
513 }
514 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-sha mute\">")
515 if templ_7745c5c3_Err != nil {
516 return templ_7745c5c3_Err
517 }
518 var templ_7745c5c3_Var25 string
519 templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
520 if templ_7745c5c3_Err != nil {
521 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 90, Col: 37}
522 }
523 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
524 if templ_7745c5c3_Err != nil {
525 return templ_7745c5c3_Err
526 }
527 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</td><td class=\"c-subject\"><a href=\"")
528 if templ_7745c5c3_Err != nil {
529 return templ_7745c5c3_Err
530 }
531 var templ_7745c5c3_Var26 templ.SafeURL
532 templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
533 if templ_7745c5c3_Err != nil {
534 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 92, Col: 38}
535 }
536 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
537 if templ_7745c5c3_Err != nil {
538 return templ_7745c5c3_Err
539 }
540 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "\">")
541 if templ_7745c5c3_Err != nil {
542 return templ_7745c5c3_Err
543 }
544 var templ_7745c5c3_Var27 string
545 templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
546 if templ_7745c5c3_Err != nil {
547 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 92, Col: 52}
548 }
549 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
550 if templ_7745c5c3_Err != nil {
551 return templ_7745c5c3_Err
552 }
553 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</a> ")
554 if templ_7745c5c3_Err != nil {
555 return templ_7745c5c3_Err
556 }
557 if c.Merge {
558 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<span class=\"tagged\">(merge)</span> ")
559 if templ_7745c5c3_Err != nil {
560 return templ_7745c5c3_Err
561 }
562 }
563 for _, b := range c.Branches {
564 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "<span class=\"tagged\">[")
565 if templ_7745c5c3_Err != nil {
566 return templ_7745c5c3_Err
567 }
568 var templ_7745c5c3_Var28 string
569 templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(b)
570 if templ_7745c5c3_Err != nil {
571 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 97, Col: 32}
572 }
573 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28))
574 if templ_7745c5c3_Err != nil {
575 return templ_7745c5c3_Err
576 }
577 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "]</span> ")
578 if templ_7745c5c3_Err != nil {
579 return templ_7745c5c3_Err
580 }
581 }
582 for _, t := range c.Tags {
583 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "<span class=\"tagged\">[tag: ")
584 if templ_7745c5c3_Err != nil {
585 return templ_7745c5c3_Err
586 }
587 var templ_7745c5c3_Var29 string
588 templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(t)
589 if templ_7745c5c3_Err != nil {
590 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 100, Col: 37}
591 }
592 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29))
593 if templ_7745c5c3_Err != nil {
594 return templ_7745c5c3_Err
595 }
596 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "]</span>")
597 if templ_7745c5c3_Err != nil {
598 return templ_7745c5c3_Err
599 }
600 }
601 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</td><td class=\"c-who dim\">")
602 if templ_7745c5c3_Err != nil {
603 return templ_7745c5c3_Err
604 }
605 var templ_7745c5c3_Var30 string
606 templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author)
607 if templ_7745c5c3_Err != nil {
608 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 103, Col: 37}
609 }
610 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
611 if templ_7745c5c3_Err != nil {
612 return templ_7745c5c3_Err
613 }
614 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</td><td class=\"c-when nowrap dim\"><time datetime=\"")
615 if templ_7745c5c3_Err != nil {
616 return templ_7745c5c3_Err
617 }
618 var templ_7745c5c3_Var31 string
619 templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
620 if templ_7745c5c3_Err != nil {
621 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 104, Col: 60}
622 }
623 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31)
624 if templ_7745c5c3_Err != nil {
625 return templ_7745c5c3_Err
626 }
627 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "\" title=\"")
628 if templ_7745c5c3_Err != nil {
629 return templ_7745c5c3_Err
630 }
631 var templ_7745c5c3_Var32 string
632 templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
633 if templ_7745c5c3_Err != nil {
634 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 104, Col: 79}
635 }
636 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var32)
637 if templ_7745c5c3_Err != nil {
638 return templ_7745c5c3_Err
639 }
640 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\">")
641 if templ_7745c5c3_Err != nil {
642 return templ_7745c5c3_Err
643 }
644 var templ_7745c5c3_Var33 string
645 templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
646 if templ_7745c5c3_Err != nil {
647 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/components.templ`, Line: 104, Col: 90}
648 }
649 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33))
650 if templ_7745c5c3_Err != nil {
651 return templ_7745c5c3_Err
652 }
653 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "</time></td></tr>")
654 if templ_7745c5c3_Err != nil {
655 return templ_7745c5c3_Err
656 }
657 }
658 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "</tbody></table>")
659 if templ_7745c5c3_Err != nil {
660 return templ_7745c5c3_Err
661 }
662 return nil
663 })
664}
665
666var _ = templruntime.GeneratedTemplate