1// Code generated by templ - DO NOT EDIT.
2
3// templ: version: v0.3.1020
4package web
5
6//lint:file-ignore SA4006 This context is only used if a nested component is present.
7
8import "github.com/a-h/templ"
9import templruntime "github.com/a-h/templ/runtime"
10
11// The CI pages: the runs of a repository, a run with its jobs, a job with its
12// steps and its log (actions.go). A state is always a word as well as a
13// symbol and a colour.
14
15// CheckIcon is the symbol of a state: a mark in the colour of its kind, with
16// the state as its text for a screen reader.
17func CheckIcon(kind, state string) templ.Component {
18 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
19 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
20 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
21 return templ_7745c5c3_CtxErr
22 }
23 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
24 if !templ_7745c5c3_IsBuffer {
25 defer func() {
26 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
27 if templ_7745c5c3_Err == nil {
28 templ_7745c5c3_Err = templ_7745c5c3_BufErr
29 }
30 }()
31 }
32 ctx = templ.InitializeContext(ctx)
33 templ_7745c5c3_Var1 := templ.GetChildren(ctx)
34 if templ_7745c5c3_Var1 == nil {
35 templ_7745c5c3_Var1 = templ.NopComponent
36 }
37 ctx = templ.ClearChildren(ctx)
38 var templ_7745c5c3_Var2 = []any{"ck", "ck-" + kind}
39 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var2...)
40 if templ_7745c5c3_Err != nil {
41 return templ_7745c5c3_Err
42 }
43 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<span class=\"")
44 if templ_7745c5c3_Err != nil {
45 return templ_7745c5c3_Err
46 }
47 var templ_7745c5c3_Var3 string
48 templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var2).String())
49 if templ_7745c5c3_Err != nil {
50 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 1, Col: 0}
51 }
52 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var3)
53 if templ_7745c5c3_Err != nil {
54 return templ_7745c5c3_Err
55 }
56 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "\" role=\"img\" aria-label=\"")
57 if templ_7745c5c3_Err != nil {
58 return templ_7745c5c3_Err
59 }
60 var templ_7745c5c3_Var4 string
61 templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.ResolveAttributeValue(state)
62 if templ_7745c5c3_Err != nil {
63 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 10, Col: 65}
64 }
65 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var4)
66 if templ_7745c5c3_Err != nil {
67 return templ_7745c5c3_Err
68 }
69 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "\" title=\"")
70 if templ_7745c5c3_Err != nil {
71 return templ_7745c5c3_Err
72 }
73 var templ_7745c5c3_Var5 string
74 templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.ResolveAttributeValue(state)
75 if templ_7745c5c3_Err != nil {
76 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 10, Col: 81}
77 }
78 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var5)
79 if templ_7745c5c3_Err != nil {
80 return templ_7745c5c3_Err
81 }
82 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "\"></span>")
83 if templ_7745c5c3_Err != nil {
84 return templ_7745c5c3_Err
85 }
86 return nil
87 })
88}
89
90func Actions(l Layout, p ActionsPage) templ.Component {
91 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
92 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
93 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
94 return templ_7745c5c3_CtxErr
95 }
96 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
97 if !templ_7745c5c3_IsBuffer {
98 defer func() {
99 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
100 if templ_7745c5c3_Err == nil {
101 templ_7745c5c3_Err = templ_7745c5c3_BufErr
102 }
103 }()
104 }
105 ctx = templ.InitializeContext(ctx)
106 templ_7745c5c3_Var6 := templ.GetChildren(ctx)
107 if templ_7745c5c3_Var6 == nil {
108 templ_7745c5c3_Var6 = templ.NopComponent
109 }
110 ctx = templ.ClearChildren(ctx)
111 templ_7745c5c3_Var7 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
112 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
113 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
114 if !templ_7745c5c3_IsBuffer {
115 defer func() {
116 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
117 if templ_7745c5c3_Err == nil {
118 templ_7745c5c3_Err = templ_7745c5c3_BufErr
119 }
120 }()
121 }
122 ctx = templ.InitializeContext(ctx)
123 if len(p.Runs) == 0 {
124 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<p class=\"dim\">no runs yet: a push that matches a workflow of .github/workflows starts one.</p>")
125 if templ_7745c5c3_Err != nil {
126 return templ_7745c5c3_Err
127 }
128 } else {
129 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "<table class=\"list runs\" aria-label=\"Runs\"><thead><tr><th class=\"c-st\"></th><th class=\"c-name\">workflow</th><th class=\"c-sub\">commit</th><th class=\"c-ref\">ref</th><th class=\"c-who\">actor</th><th class=\"c-dur\">time</th><th class=\"c-when\">created</th></tr></thead> <tbody id=\"run-rows\" data-rows>")
130 if templ_7745c5c3_Err != nil {
131 return templ_7745c5c3_Err
132 }
133 for _, r := range p.Runs {
134 templ_7745c5c3_Err = RunListRow(r).Render(ctx, templ_7745c5c3_Buffer)
135 if templ_7745c5c3_Err != nil {
136 return templ_7745c5c3_Err
137 }
138 }
139 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "</tbody></table>")
140 if templ_7745c5c3_Err != nil {
141 return templ_7745c5c3_Err
142 }
143 }
144 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, " ")
145 if templ_7745c5c3_Err != nil {
146 return templ_7745c5c3_Err
147 }
148 if p.More != "" {
149 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "<p class=\"more\"><a href=\"")
150 if templ_7745c5c3_Err != nil {
151 return templ_7745c5c3_Err
152 }
153 var templ_7745c5c3_Var8 templ.SafeURL
154 templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.More))
155 if templ_7745c5c3_Err != nil {
156 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 30, Col: 50}
157 }
158 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
159 if templ_7745c5c3_Err != nil {
160 return templ_7745c5c3_Err
161 }
162 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "\" rel=\"next\">older runs</a></p>")
163 if templ_7745c5c3_Err != nil {
164 return templ_7745c5c3_Err
165 }
166 }
167 return nil
168 })
169 templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var7), templ_7745c5c3_Buffer)
170 if templ_7745c5c3_Err != nil {
171 return templ_7745c5c3_Err
172 }
173 return nil
174 })
175}
176
177// RunListRow is a row of the list of runs; its id is the target of the live
178// updates.
179func RunListRow(r RunRow) templ.Component {
180 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
181 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
182 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
183 return templ_7745c5c3_CtxErr
184 }
185 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
186 if !templ_7745c5c3_IsBuffer {
187 defer func() {
188 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
189 if templ_7745c5c3_Err == nil {
190 templ_7745c5c3_Err = templ_7745c5c3_BufErr
191 }
192 }()
193 }
194 ctx = templ.InitializeContext(ctx)
195 templ_7745c5c3_Var9 := templ.GetChildren(ctx)
196 if templ_7745c5c3_Var9 == nil {
197 templ_7745c5c3_Var9 = templ.NopComponent
198 }
199 ctx = templ.ClearChildren(ctx)
200 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "<tr id=\"")
201 if templ_7745c5c3_Err != nil {
202 return templ_7745c5c3_Err
203 }
204 var templ_7745c5c3_Var10 string
205 templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.ResolveAttributeValue("run-" + r.ID)
206 if templ_7745c5c3_Err != nil {
207 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 38, Col: 23}
208 }
209 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var10)
210 if templ_7745c5c3_Err != nil {
211 return templ_7745c5c3_Err
212 }
213 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "\"><td class=\"c-st\">")
214 if templ_7745c5c3_Err != nil {
215 return templ_7745c5c3_Err
216 }
217 templ_7745c5c3_Err = CheckIcon(r.Kind, r.State).Render(ctx, templ_7745c5c3_Buffer)
218 if templ_7745c5c3_Err != nil {
219 return templ_7745c5c3_Err
220 }
221 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</td><td class=\"c-name\"><a href=\"")
222 if templ_7745c5c3_Err != nil {
223 return templ_7745c5c3_Err
224 }
225 var templ_7745c5c3_Var11 templ.SafeURL
226 templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
227 if templ_7745c5c3_Err != nil {
228 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 41, Col: 34}
229 }
230 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
231 if templ_7745c5c3_Err != nil {
232 return templ_7745c5c3_Err
233 }
234 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "\">")
235 if templ_7745c5c3_Err != nil {
236 return templ_7745c5c3_Err
237 }
238 var templ_7745c5c3_Var12 string
239 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(r.Workflow)
240 if templ_7745c5c3_Err != nil {
241 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 41, Col: 49}
242 }
243 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
244 if templ_7745c5c3_Err != nil {
245 return templ_7745c5c3_Err
246 }
247 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</a> <span class=\"mute\">")
248 if templ_7745c5c3_Err != nil {
249 return templ_7745c5c3_Err
250 }
251 var templ_7745c5c3_Var13 string
252 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(r.Number)
253 if templ_7745c5c3_Err != nil {
254 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 42, Col: 32}
255 }
256 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
257 if templ_7745c5c3_Err != nil {
258 return templ_7745c5c3_Err
259 }
260 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</span> ")
261 if templ_7745c5c3_Err != nil {
262 return templ_7745c5c3_Err
263 }
264 if r.Event != "" {
265 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<span class=\"pill\">")
266 if templ_7745c5c3_Err != nil {
267 return templ_7745c5c3_Err
268 }
269 var templ_7745c5c3_Var14 string
270 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(r.Event)
271 if templ_7745c5c3_Err != nil {
272 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 44, Col: 32}
273 }
274 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
275 if templ_7745c5c3_Err != nil {
276 return templ_7745c5c3_Err
277 }
278 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</span> ")
279 if templ_7745c5c3_Err != nil {
280 return templ_7745c5c3_Err
281 }
282 }
283 if r.Attempt > 1 {
284 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<span class=\"pill\">attempt ")
285 if templ_7745c5c3_Err != nil {
286 return templ_7745c5c3_Err
287 }
288 var templ_7745c5c3_Var15 string
289 templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(int(r.Attempt)))
290 if templ_7745c5c3_Err != nil {
291 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 47, Col: 53}
292 }
293 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
294 if templ_7745c5c3_Err != nil {
295 return templ_7745c5c3_Err
296 }
297 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</span>")
298 if templ_7745c5c3_Err != nil {
299 return templ_7745c5c3_Err
300 }
301 }
302 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</td><td class=\"c-sub\"><a href=\"")
303 if templ_7745c5c3_Err != nil {
304 return templ_7745c5c3_Err
305 }
306 var templ_7745c5c3_Var16 templ.SafeURL
307 templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.CHref))
308 if templ_7745c5c3_Err != nil {
309 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 50, Col: 52}
310 }
311 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
312 if templ_7745c5c3_Err != nil {
313 return templ_7745c5c3_Err
314 }
315 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\">")
316 if templ_7745c5c3_Err != nil {
317 return templ_7745c5c3_Err
318 }
319 var templ_7745c5c3_Var17 string
320 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short)
321 if templ_7745c5c3_Err != nil {
322 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 50, Col: 64}
323 }
324 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
325 if templ_7745c5c3_Err != nil {
326 return templ_7745c5c3_Err
327 }
328 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</a> ")
329 if templ_7745c5c3_Err != nil {
330 return templ_7745c5c3_Err
331 }
332 var templ_7745c5c3_Var18 string
333 templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(r.Title)
334 if templ_7745c5c3_Err != nil {
335 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 50, Col: 80}
336 }
337 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
338 if templ_7745c5c3_Err != nil {
339 return templ_7745c5c3_Err
340 }
341 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</td><td class=\"c-ref\"><a href=\"")
342 if templ_7745c5c3_Err != nil {
343 return templ_7745c5c3_Err
344 }
345 var templ_7745c5c3_Var19 templ.SafeURL
346 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.RefHref))
347 if templ_7745c5c3_Err != nil {
348 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 51, Col: 54}
349 }
350 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
351 if templ_7745c5c3_Err != nil {
352 return templ_7745c5c3_Err
353 }
354 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "\">")
355 if templ_7745c5c3_Err != nil {
356 return templ_7745c5c3_Err
357 }
358 var templ_7745c5c3_Var20 string
359 templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(r.Ref)
360 if templ_7745c5c3_Err != nil {
361 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 51, Col: 64}
362 }
363 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
364 if templ_7745c5c3_Err != nil {
365 return templ_7745c5c3_Err
366 }
367 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</a></td><td class=\"c-who dim\">")
368 if templ_7745c5c3_Err != nil {
369 return templ_7745c5c3_Err
370 }
371 var templ_7745c5c3_Var21 string
372 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(r.Actor)
373 if templ_7745c5c3_Err != nil {
374 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 52, Col: 33}
375 }
376 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
377 if templ_7745c5c3_Err != nil {
378 return templ_7745c5c3_Err
379 }
380 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</td><td class=\"c-dur dim\">")
381 if templ_7745c5c3_Err != nil {
382 return templ_7745c5c3_Err
383 }
384 var templ_7745c5c3_Var22 string
385 templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(r.State)
386 if templ_7745c5c3_Err != nil {
387 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 53, Col: 33}
388 }
389 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
390 if templ_7745c5c3_Err != nil {
391 return templ_7745c5c3_Err
392 }
393 var templ_7745c5c3_Var23 string
394 templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(" ")
395 if templ_7745c5c3_Err != nil {
396 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 53, Col: 40}
397 }
398 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
399 if templ_7745c5c3_Err != nil {
400 return templ_7745c5c3_Err
401 }
402 var templ_7745c5c3_Var24 string
403 templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(r.Duration)
404 if templ_7745c5c3_Err != nil {
405 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 53, Col: 54}
406 }
407 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
408 if templ_7745c5c3_Err != nil {
409 return templ_7745c5c3_Err
410 }
411 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "</td><td class=\"c-when dim\">")
412 if templ_7745c5c3_Err != nil {
413 return templ_7745c5c3_Err
414 }
415 if r.WhenAt != "" {
416 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "<time datetime=\"")
417 if templ_7745c5c3_Err != nil {
418 return templ_7745c5c3_Err
419 }
420 var templ_7745c5c3_Var25 string
421 templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt)
422 if templ_7745c5c3_Err != nil {
423 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 56, Col: 29}
424 }
425 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var25)
426 if templ_7745c5c3_Err != nil {
427 return templ_7745c5c3_Err
428 }
429 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "\" title=\"")
430 if templ_7745c5c3_Err != nil {
431 return templ_7745c5c3_Err
432 }
433 var templ_7745c5c3_Var26 string
434 templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt)
435 if templ_7745c5c3_Err != nil {
436 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 56, Col: 48}
437 }
438 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var26)
439 if templ_7745c5c3_Err != nil {
440 return templ_7745c5c3_Err
441 }
442 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\">")
443 if templ_7745c5c3_Err != nil {
444 return templ_7745c5c3_Err
445 }
446 var templ_7745c5c3_Var27 string
447 templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(r.When)
448 if templ_7745c5c3_Err != nil {
449 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 56, Col: 59}
450 }
451 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
452 if templ_7745c5c3_Err != nil {
453 return templ_7745c5c3_Err
454 }
455 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</time>")
456 if templ_7745c5c3_Err != nil {
457 return templ_7745c5c3_Err
458 }
459 }
460 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "</td></tr>")
461 if templ_7745c5c3_Err != nil {
462 return templ_7745c5c3_Err
463 }
464 return nil
465 })
466}
467
468// RecentActionsBlock is the "Recent actions" section of the summary rail; its
469// id is the target of the live updates. Without a run it is hidden.
470func RecentActionsBlock(a RecentActions) templ.Component {
471 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
472 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
473 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
474 return templ_7745c5c3_CtxErr
475 }
476 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
477 if !templ_7745c5c3_IsBuffer {
478 defer func() {
479 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
480 if templ_7745c5c3_Err == nil {
481 templ_7745c5c3_Err = templ_7745c5c3_BufErr
482 }
483 }()
484 }
485 ctx = templ.InitializeContext(ctx)
486 templ_7745c5c3_Var28 := templ.GetChildren(ctx)
487 if templ_7745c5c3_Var28 == nil {
488 templ_7745c5c3_Var28 = templ.NopComponent
489 }
490 ctx = templ.ClearChildren(ctx)
491 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "<section id=\"recent-actions\" aria-labelledby=\"r-actions\"")
492 if templ_7745c5c3_Err != nil {
493 return templ_7745c5c3_Err
494 }
495 if len(a.Runs) == 0 {
496 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, " hidden")
497 if templ_7745c5c3_Err != nil {
498 return templ_7745c5c3_Err
499 }
500 }
501 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "><h2 id=\"r-actions\">Recent actions <a href=\"")
502 if templ_7745c5c3_Err != nil {
503 return templ_7745c5c3_Err
504 }
505 var templ_7745c5c3_Var29 templ.SafeURL
506 templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(a.AllHref))
507 if templ_7745c5c3_Err != nil {
508 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 66, Col: 70}
509 }
510 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29))
511 if templ_7745c5c3_Err != nil {
512 return templ_7745c5c3_Err
513 }
514 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "\">View all</a></h2><ul class=\"rruns\">")
515 if templ_7745c5c3_Err != nil {
516 return templ_7745c5c3_Err
517 }
518 for _, r := range a.Runs {
519 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<li>")
520 if templ_7745c5c3_Err != nil {
521 return templ_7745c5c3_Err
522 }
523 templ_7745c5c3_Err = CheckIcon(r.Kind, r.State).Render(ctx, templ_7745c5c3_Buffer)
524 if templ_7745c5c3_Err != nil {
525 return templ_7745c5c3_Err
526 }
527 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<a class=\"rr-name\" href=\"")
528 if templ_7745c5c3_Err != nil {
529 return templ_7745c5c3_Err
530 }
531 var templ_7745c5c3_Var30 templ.SafeURL
532 templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
533 if templ_7745c5c3_Err != nil {
534 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 71, Col: 52}
535 }
536 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
537 if templ_7745c5c3_Err != nil {
538 return templ_7745c5c3_Err
539 }
540 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "\" title=\"")
541 if templ_7745c5c3_Err != nil {
542 return templ_7745c5c3_Err
543 }
544 var templ_7745c5c3_Var31 string
545 templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.Workflow + " " + r.Number + " · " + r.State)
546 if templ_7745c5c3_Err != nil {
547 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 71, Col: 109}
548 }
549 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31)
550 if templ_7745c5c3_Err != nil {
551 return templ_7745c5c3_Err
552 }
553 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "\">")
554 if templ_7745c5c3_Err != nil {
555 return templ_7745c5c3_Err
556 }
557 var templ_7745c5c3_Var32 string
558 templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(r.Workflow)
559 if templ_7745c5c3_Err != nil {
560 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 71, Col: 124}
561 }
562 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
563 if templ_7745c5c3_Err != nil {
564 return templ_7745c5c3_Err
565 }
566 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</a> <span class=\"mute\">")
567 if templ_7745c5c3_Err != nil {
568 return templ_7745c5c3_Err
569 }
570 var templ_7745c5c3_Var33 string
571 templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(r.Number)
572 if templ_7745c5c3_Err != nil {
573 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 72, Col: 34}
574 }
575 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33))
576 if templ_7745c5c3_Err != nil {
577 return templ_7745c5c3_Err
578 }
579 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</span> <a class=\"rr-ref\" href=\"")
580 if templ_7745c5c3_Err != nil {
581 return templ_7745c5c3_Err
582 }
583 var templ_7745c5c3_Var34 templ.SafeURL
584 templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.RefHref))
585 if templ_7745c5c3_Err != nil {
586 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 73, Col: 54}
587 }
588 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34))
589 if templ_7745c5c3_Err != nil {
590 return templ_7745c5c3_Err
591 }
592 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "\">")
593 if templ_7745c5c3_Err != nil {
594 return templ_7745c5c3_Err
595 }
596 var templ_7745c5c3_Var35 string
597 templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(r.Ref)
598 if templ_7745c5c3_Err != nil {
599 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 73, Col: 64}
600 }
601 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35))
602 if templ_7745c5c3_Err != nil {
603 return templ_7745c5c3_Err
604 }
605 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</a> ")
606 if templ_7745c5c3_Err != nil {
607 return templ_7745c5c3_Err
608 }
609 if r.WhenAt != "" {
610 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "<time class=\"dim\" datetime=\"")
611 if templ_7745c5c3_Err != nil {
612 return templ_7745c5c3_Err
613 }
614 var templ_7745c5c3_Var36 string
615 templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt)
616 if templ_7745c5c3_Err != nil {
617 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 75, Col: 43}
618 }
619 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var36)
620 if templ_7745c5c3_Err != nil {
621 return templ_7745c5c3_Err
622 }
623 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "\" title=\"")
624 if templ_7745c5c3_Err != nil {
625 return templ_7745c5c3_Err
626 }
627 var templ_7745c5c3_Var37 string
628 templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt)
629 if templ_7745c5c3_Err != nil {
630 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 75, Col: 62}
631 }
632 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var37)
633 if templ_7745c5c3_Err != nil {
634 return templ_7745c5c3_Err
635 }
636 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "\">")
637 if templ_7745c5c3_Err != nil {
638 return templ_7745c5c3_Err
639 }
640 var templ_7745c5c3_Var38 string
641 templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(r.When)
642 if templ_7745c5c3_Err != nil {
643 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 75, Col: 73}
644 }
645 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38))
646 if templ_7745c5c3_Err != nil {
647 return templ_7745c5c3_Err
648 }
649 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</time>")
650 if templ_7745c5c3_Err != nil {
651 return templ_7745c5c3_Err
652 }
653 }
654 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</li>")
655 if templ_7745c5c3_Err != nil {
656 return templ_7745c5c3_Err
657 }
658 }
659 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</ul></section>")
660 if templ_7745c5c3_Err != nil {
661 return templ_7745c5c3_Err
662 }
663 return nil
664 })
665}
666
667func RunDetail(l Layout, p RunPage) templ.Component {
668 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
669 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
670 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
671 return templ_7745c5c3_CtxErr
672 }
673 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
674 if !templ_7745c5c3_IsBuffer {
675 defer func() {
676 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
677 if templ_7745c5c3_Err == nil {
678 templ_7745c5c3_Err = templ_7745c5c3_BufErr
679 }
680 }()
681 }
682 ctx = templ.InitializeContext(ctx)
683 templ_7745c5c3_Var39 := templ.GetChildren(ctx)
684 if templ_7745c5c3_Var39 == nil {
685 templ_7745c5c3_Var39 = templ.NopComponent
686 }
687 ctx = templ.ClearChildren(ctx)
688 templ_7745c5c3_Var40 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
689 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
690 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
691 if !templ_7745c5c3_IsBuffer {
692 defer func() {
693 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
694 if templ_7745c5c3_Err == nil {
695 templ_7745c5c3_Err = templ_7745c5c3_BufErr
696 }
697 }()
698 }
699 ctx = templ.InitializeContext(ctx)
700 templ_7745c5c3_Err = LiveSlot("run-notice").Render(ctx, templ_7745c5c3_Buffer)
701 if templ_7745c5c3_Err != nil {
702 return templ_7745c5c3_Err
703 }
704 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, " <div id=\"run-body\">")
705 if templ_7745c5c3_Err != nil {
706 return templ_7745c5c3_Err
707 }
708 templ_7745c5c3_Err = RunBody(p).Render(ctx, templ_7745c5c3_Buffer)
709 if templ_7745c5c3_Err != nil {
710 return templ_7745c5c3_Err
711 }
712 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "</div>")
713 if templ_7745c5c3_Err != nil {
714 return templ_7745c5c3_Err
715 }
716 if p.Artifacts != nil {
717 templ_7745c5c3_Err = RunArtifacts(*p.Artifacts).Render(ctx, templ_7745c5c3_Buffer)
718 if templ_7745c5c3_Err != nil {
719 return templ_7745c5c3_Err
720 }
721 }
722 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, " ")
723 if templ_7745c5c3_Err != nil {
724 return templ_7745c5c3_Err
725 }
726 templ_7745c5c3_Err = RunSummaries(p.Summaries, p.SummariesMore).Render(ctx, templ_7745c5c3_Buffer)
727 if templ_7745c5c3_Err != nil {
728 return templ_7745c5c3_Err
729 }
730 return nil
731 })
732 templ_7745c5c3_Err = Shell(l, runRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var40), templ_7745c5c3_Buffer)
733 if templ_7745c5c3_Err != nil {
734 return templ_7745c5c3_Err
735 }
736 return nil
737 })
738}
739
740// runBodyFragment is the body of the run page as a live fragment.
741func runBodyFragment(p RunPage) templ.Component {
742 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
743 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
744 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
745 return templ_7745c5c3_CtxErr
746 }
747 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
748 if !templ_7745c5c3_IsBuffer {
749 defer func() {
750 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
751 if templ_7745c5c3_Err == nil {
752 templ_7745c5c3_Err = templ_7745c5c3_BufErr
753 }
754 }()
755 }
756 ctx = templ.InitializeContext(ctx)
757 templ_7745c5c3_Var41 := templ.GetChildren(ctx)
758 if templ_7745c5c3_Var41 == nil {
759 templ_7745c5c3_Var41 = templ.NopComponent
760 }
761 ctx = templ.ClearChildren(ctx)
762 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "<div id=\"run-body\">")
763 if templ_7745c5c3_Err != nil {
764 return templ_7745c5c3_Err
765 }
766 templ_7745c5c3_Err = RunBody(p).Render(ctx, templ_7745c5c3_Buffer)
767 if templ_7745c5c3_Err != nil {
768 return templ_7745c5c3_Err
769 }
770 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</div>")
771 if templ_7745c5c3_Err != nil {
772 return templ_7745c5c3_Err
773 }
774 return nil
775 })
776}
777
778// RunBody is the jobs of a run, replaced by the live updates.
779func RunBody(p RunPage) templ.Component {
780 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
781 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
782 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
783 return templ_7745c5c3_CtxErr
784 }
785 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
786 if !templ_7745c5c3_IsBuffer {
787 defer func() {
788 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
789 if templ_7745c5c3_Err == nil {
790 templ_7745c5c3_Err = templ_7745c5c3_BufErr
791 }
792 }()
793 }
794 ctx = templ.InitializeContext(ctx)
795 templ_7745c5c3_Var42 := templ.GetChildren(ctx)
796 if templ_7745c5c3_Var42 == nil {
797 templ_7745c5c3_Var42 = templ.NopComponent
798 }
799 ctx = templ.ClearChildren(ctx)
800 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<h2 class=\"run-h\">")
801 if templ_7745c5c3_Err != nil {
802 return templ_7745c5c3_Err
803 }
804 templ_7745c5c3_Err = CheckIcon(p.Kind, p.State).Render(ctx, templ_7745c5c3_Buffer)
805 if templ_7745c5c3_Err != nil {
806 return templ_7745c5c3_Err
807 }
808 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "<span>")
809 if templ_7745c5c3_Err != nil {
810 return templ_7745c5c3_Err
811 }
812 var templ_7745c5c3_Var43 string
813 templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(p.Workflow)
814 if templ_7745c5c3_Err != nil {
815 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 105, Col: 64}
816 }
817 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43))
818 if templ_7745c5c3_Err != nil {
819 return templ_7745c5c3_Err
820 }
821 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</span> <span class=\"mute\">")
822 if templ_7745c5c3_Err != nil {
823 return templ_7745c5c3_Err
824 }
825 var templ_7745c5c3_Var44 string
826 templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(p.Number)
827 if templ_7745c5c3_Err != nil {
828 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 105, Col: 103}
829 }
830 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44))
831 if templ_7745c5c3_Err != nil {
832 return templ_7745c5c3_Err
833 }
834 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</span></h2>")
835 if templ_7745c5c3_Err != nil {
836 return templ_7745c5c3_Err
837 }
838 if p.Error != "" {
839 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "<pre class=\"run-err\">")
840 if templ_7745c5c3_Err != nil {
841 return templ_7745c5c3_Err
842 }
843 var templ_7745c5c3_Var45 string
844 templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(p.Error)
845 if templ_7745c5c3_Err != nil {
846 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 107, Col: 32}
847 }
848 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45))
849 if templ_7745c5c3_Err != nil {
850 return templ_7745c5c3_Err
851 }
852 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "</pre>")
853 if templ_7745c5c3_Err != nil {
854 return templ_7745c5c3_Err
855 }
856 }
857 if len(p.Annotations) > 0 {
858 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "<section class=\"annots\" aria-labelledby=\"run-annots\"><h3 id=\"run-annots\">Annotations <span class=\"count\">")
859 if templ_7745c5c3_Err != nil {
860 return templ_7745c5c3_Err
861 }
862 var templ_7745c5c3_Var46 string
863 templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Annotations)))
864 if templ_7745c5c3_Err != nil {
865 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 111, Col: 81}
866 }
867 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46))
868 if templ_7745c5c3_Err != nil {
869 return templ_7745c5c3_Err
870 }
871 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "</span></h3>")
872 if templ_7745c5c3_Err != nil {
873 return templ_7745c5c3_Err
874 }
875 templ_7745c5c3_Err = AnnotationList(p.Annotations, p.AnnotationsMore, false).Render(ctx, templ_7745c5c3_Buffer)
876 if templ_7745c5c3_Err != nil {
877 return templ_7745c5c3_Err
878 }
879 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "</section>")
880 if templ_7745c5c3_Err != nil {
881 return templ_7745c5c3_Err
882 }
883 }
884 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "<ul class=\"jobs\">")
885 if templ_7745c5c3_Err != nil {
886 return templ_7745c5c3_Err
887 }
888 for _, j := range p.Jobs {
889 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "<li id=\"")
890 if templ_7745c5c3_Err != nil {
891 return templ_7745c5c3_Err
892 }
893 var templ_7745c5c3_Var47 string
894 templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.ResolveAttributeValue("job-" + j.ID)
895 if templ_7745c5c3_Err != nil {
896 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 117, Col: 25}
897 }
898 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var47)
899 if templ_7745c5c3_Err != nil {
900 return templ_7745c5c3_Err
901 }
902 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "\"><a class=\"job-h\" href=\"")
903 if templ_7745c5c3_Err != nil {
904 return templ_7745c5c3_Err
905 }
906 var templ_7745c5c3_Var48 templ.SafeURL
907 templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(j.Href))
908 if templ_7745c5c3_Err != nil {
909 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 118, Col: 49}
910 }
911 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48))
912 if templ_7745c5c3_Err != nil {
913 return templ_7745c5c3_Err
914 }
915 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "\">")
916 if templ_7745c5c3_Err != nil {
917 return templ_7745c5c3_Err
918 }
919 templ_7745c5c3_Err = CheckIcon(j.Kind, j.State).Render(ctx, templ_7745c5c3_Buffer)
920 if templ_7745c5c3_Err != nil {
921 return templ_7745c5c3_Err
922 }
923 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "<span class=\"j-name\">")
924 if templ_7745c5c3_Err != nil {
925 return templ_7745c5c3_Err
926 }
927 var templ_7745c5c3_Var49 string
928 templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(j.Name)
929 if templ_7745c5c3_Err != nil {
930 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 120, Col: 34}
931 }
932 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49))
933 if templ_7745c5c3_Err != nil {
934 return templ_7745c5c3_Err
935 }
936 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "</span> <span class=\"dim\">")
937 if templ_7745c5c3_Err != nil {
938 return templ_7745c5c3_Err
939 }
940 var templ_7745c5c3_Var50 string
941 templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.JoinStringErrs(j.State)
942 if templ_7745c5c3_Err != nil {
943 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 121, Col: 32}
944 }
945 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var50))
946 if templ_7745c5c3_Err != nil {
947 return templ_7745c5c3_Err
948 }
949 var templ_7745c5c3_Var51 string
950 templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.JoinStringErrs(" ")
951 if templ_7745c5c3_Err != nil {
952 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 121, Col: 39}
953 }
954 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var51))
955 if templ_7745c5c3_Err != nil {
956 return templ_7745c5c3_Err
957 }
958 var templ_7745c5c3_Var52 string
959 templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(j.Duration)
960 if templ_7745c5c3_Err != nil {
961 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 121, Col: 53}
962 }
963 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52))
964 if templ_7745c5c3_Err != nil {
965 return templ_7745c5c3_Err
966 }
967 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "</span></a> ")
968 if templ_7745c5c3_Err != nil {
969 return templ_7745c5c3_Err
970 }
971 if j.Runner != "" {
972 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "<span class=\"mute\">on ")
973 if templ_7745c5c3_Err != nil {
974 return templ_7745c5c3_Err
975 }
976 var templ_7745c5c3_Var53 string
977 templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(runnerText(j))
978 if templ_7745c5c3_Err != nil {
979 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 124, Col: 42}
980 }
981 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53))
982 if templ_7745c5c3_Err != nil {
983 return templ_7745c5c3_Err
984 }
985 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "</span> ")
986 if templ_7745c5c3_Err != nil {
987 return templ_7745c5c3_Err
988 }
989 }
990 if len(j.Needs) > 0 {
991 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "<span class=\"mute\">needs ")
992 if templ_7745c5c3_Err != nil {
993 return templ_7745c5c3_Err
994 }
995 var templ_7745c5c3_Var54 string
996 templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.JoinStringErrs(joinWords(j.Needs))
997 if templ_7745c5c3_Err != nil {
998 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 127, Col: 50}
999 }
1000 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var54))
1001 if templ_7745c5c3_Err != nil {
1002 return templ_7745c5c3_Err
1003 }
1004 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "</span> ")
1005 if templ_7745c5c3_Err != nil {
1006 return templ_7745c5c3_Err
1007 }
1008 }
1009 if j.Error != "" {
1010 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "<p class=\"job-err\">")
1011 if templ_7745c5c3_Err != nil {
1012 return templ_7745c5c3_Err
1013 }
1014 var templ_7745c5c3_Var55 string
1015 templ_7745c5c3_Var55, templ_7745c5c3_Err = templ.JoinStringErrs(j.Error)
1016 if templ_7745c5c3_Err != nil {
1017 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 130, Col: 33}
1018 }
1019 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var55))
1020 if templ_7745c5c3_Err != nil {
1021 return templ_7745c5c3_Err
1022 }
1023 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "</p>")
1024 if templ_7745c5c3_Err != nil {
1025 return templ_7745c5c3_Err
1026 }
1027 }
1028 if len(j.Steps) > 0 {
1029 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "<ol class=\"steps\">")
1030 if templ_7745c5c3_Err != nil {
1031 return templ_7745c5c3_Err
1032 }
1033 for _, s := range j.Steps {
1034 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "<li>")
1035 if templ_7745c5c3_Err != nil {
1036 return templ_7745c5c3_Err
1037 }
1038 templ_7745c5c3_Err = CheckIcon(s.Kind, s.State).Render(ctx, templ_7745c5c3_Buffer)
1039 if templ_7745c5c3_Err != nil {
1040 return templ_7745c5c3_Err
1041 }
1042 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "<span>")
1043 if templ_7745c5c3_Err != nil {
1044 return templ_7745c5c3_Err
1045 }
1046 var templ_7745c5c3_Var56 string
1047 templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.JoinStringErrs(s.Name)
1048 if templ_7745c5c3_Err != nil {
1049 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 135, Col: 53}
1050 }
1051 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var56))
1052 if templ_7745c5c3_Err != nil {
1053 return templ_7745c5c3_Err
1054 }
1055 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "</span> <span class=\"dim\">")
1056 if templ_7745c5c3_Err != nil {
1057 return templ_7745c5c3_Err
1058 }
1059 var templ_7745c5c3_Var57 string
1060 templ_7745c5c3_Var57, templ_7745c5c3_Err = templ.JoinStringErrs(s.Duration)
1061 if templ_7745c5c3_Err != nil {
1062 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 135, Col: 93}
1063 }
1064 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var57))
1065 if templ_7745c5c3_Err != nil {
1066 return templ_7745c5c3_Err
1067 }
1068 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "</span></li>")
1069 if templ_7745c5c3_Err != nil {
1070 return templ_7745c5c3_Err
1071 }
1072 }
1073 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "</ol>")
1074 if templ_7745c5c3_Err != nil {
1075 return templ_7745c5c3_Err
1076 }
1077 }
1078 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "</li>")
1079 if templ_7745c5c3_Err != nil {
1080 return templ_7745c5c3_Err
1081 }
1082 }
1083 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "</ul>")
1084 if templ_7745c5c3_Err != nil {
1085 return templ_7745c5c3_Err
1086 }
1087 return nil
1088 })
1089}
1090
1091// AnnotationList is a list of annotations: the level as a mark with its word,
1092// the job and the step, the title and the message, and file:line. Everything
1093// comes from the workflow and is text. Without grouped, each item names its job (the
1094// run page); grouped lists the annotations by step instead (the job page).
1095func AnnotationList(anns []AnnotationView, more bool, grouped bool) templ.Component {
1096 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1097 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1098 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1099 return templ_7745c5c3_CtxErr
1100 }
1101 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1102 if !templ_7745c5c3_IsBuffer {
1103 defer func() {
1104 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1105 if templ_7745c5c3_Err == nil {
1106 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1107 }
1108 }()
1109 }
1110 ctx = templ.InitializeContext(ctx)
1111 templ_7745c5c3_Var58 := templ.GetChildren(ctx)
1112 if templ_7745c5c3_Var58 == nil {
1113 templ_7745c5c3_Var58 = templ.NopComponent
1114 }
1115 ctx = templ.ClearChildren(ctx)
1116 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "<ul class=\"annot-list\">")
1117 if templ_7745c5c3_Err != nil {
1118 return templ_7745c5c3_Err
1119 }
1120 for _, a := range anns {
1121 var templ_7745c5c3_Var59 = []any{"annot", "annot-" + a.Kind}
1122 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var59...)
1123 if templ_7745c5c3_Err != nil {
1124 return templ_7745c5c3_Err
1125 }
1126 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "<li class=\"")
1127 if templ_7745c5c3_Err != nil {
1128 return templ_7745c5c3_Err
1129 }
1130 var templ_7745c5c3_Var60 string
1131 templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var59).String())
1132 if templ_7745c5c3_Err != nil {
1133 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 1, Col: 0}
1134 }
1135 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var60)
1136 if templ_7745c5c3_Err != nil {
1137 return templ_7745c5c3_Err
1138 }
1139 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, "\">")
1140 if templ_7745c5c3_Err != nil {
1141 return templ_7745c5c3_Err
1142 }
1143 if grouped && a.StepHead {
1144 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, "<p class=\"annot-step\">")
1145 if templ_7745c5c3_Err != nil {
1146 return templ_7745c5c3_Err
1147 }
1148 if a.StepHref != "" {
1149 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, "<a href=\"")
1150 if templ_7745c5c3_Err != nil {
1151 return templ_7745c5c3_Err
1152 }
1153 var templ_7745c5c3_Var61 templ.SafeURL
1154 templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(a.StepHref))
1155 if templ_7745c5c3_Err != nil {
1156 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 155, Col: 42}
1157 }
1158 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var61))
1159 if templ_7745c5c3_Err != nil {
1160 return templ_7745c5c3_Err
1161 }
1162 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, "\">")
1163 if templ_7745c5c3_Err != nil {
1164 return templ_7745c5c3_Err
1165 }
1166 var templ_7745c5c3_Var62 string
1167 templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(a.Step)
1168 if templ_7745c5c3_Err != nil {
1169 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 155, Col: 53}
1170 }
1171 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62))
1172 if templ_7745c5c3_Err != nil {
1173 return templ_7745c5c3_Err
1174 }
1175 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, "</a>")
1176 if templ_7745c5c3_Err != nil {
1177 return templ_7745c5c3_Err
1178 }
1179 } else {
1180 var templ_7745c5c3_Var63 string
1181 templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.JoinStringErrs(a.Step)
1182 if templ_7745c5c3_Err != nil {
1183 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 157, Col: 15}
1184 }
1185 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var63))
1186 if templ_7745c5c3_Err != nil {
1187 return templ_7745c5c3_Err
1188 }
1189 }
1190 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "</p>")
1191 if templ_7745c5c3_Err != nil {
1192 return templ_7745c5c3_Err
1193 }
1194 }
1195 var templ_7745c5c3_Var64 = []any{"an", "an-" + a.Kind}
1196 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var64...)
1197 if templ_7745c5c3_Err != nil {
1198 return templ_7745c5c3_Err
1199 }
1200 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, "<span class=\"")
1201 if templ_7745c5c3_Err != nil {
1202 return templ_7745c5c3_Err
1203 }
1204 var templ_7745c5c3_Var65 string
1205 templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var64).String())
1206 if templ_7745c5c3_Err != nil {
1207 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 1, Col: 0}
1208 }
1209 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var65)
1210 if templ_7745c5c3_Err != nil {
1211 return templ_7745c5c3_Err
1212 }
1213 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, "\" role=\"img\" aria-label=\"")
1214 if templ_7745c5c3_Err != nil {
1215 return templ_7745c5c3_Err
1216 }
1217 var templ_7745c5c3_Var66 string
1218 templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.ResolveAttributeValue(a.Level)
1219 if templ_7745c5c3_Err != nil {
1220 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 161, Col: 72}
1221 }
1222 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var66)
1223 if templ_7745c5c3_Err != nil {
1224 return templ_7745c5c3_Err
1225 }
1226 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "\" title=\"")
1227 if templ_7745c5c3_Err != nil {
1228 return templ_7745c5c3_Err
1229 }
1230 var templ_7745c5c3_Var67 string
1231 templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.ResolveAttributeValue(a.Level)
1232 if templ_7745c5c3_Err != nil {
1233 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 161, Col: 90}
1234 }
1235 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var67)
1236 if templ_7745c5c3_Err != nil {
1237 return templ_7745c5c3_Err
1238 }
1239 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, "\"></span><div class=\"annot-body\"><p class=\"annot-head\"><span class=\"annot-level\">")
1240 if templ_7745c5c3_Err != nil {
1241 return templ_7745c5c3_Err
1242 }
1243 var templ_7745c5c3_Var68 string
1244 templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(a.Level)
1245 if templ_7745c5c3_Err != nil {
1246 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 164, Col: 41}
1247 }
1248 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68))
1249 if templ_7745c5c3_Err != nil {
1250 return templ_7745c5c3_Err
1251 }
1252 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "</span> ")
1253 if templ_7745c5c3_Err != nil {
1254 return templ_7745c5c3_Err
1255 }
1256 if !grouped {
1257 if a.JobHref != "" {
1258 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "<a href=\"")
1259 if templ_7745c5c3_Err != nil {
1260 return templ_7745c5c3_Err
1261 }
1262 var templ_7745c5c3_Var69 templ.SafeURL
1263 templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(a.JobHref))
1264 if templ_7745c5c3_Err != nil {
1265 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 167, Col: 42}
1266 }
1267 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var69))
1268 if templ_7745c5c3_Err != nil {
1269 return templ_7745c5c3_Err
1270 }
1271 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 101, "\">")
1272 if templ_7745c5c3_Err != nil {
1273 return templ_7745c5c3_Err
1274 }
1275 var templ_7745c5c3_Var70 string
1276 templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.JoinStringErrs(a.Job)
1277 if templ_7745c5c3_Err != nil {
1278 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 167, Col: 52}
1279 }
1280 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var70))
1281 if templ_7745c5c3_Err != nil {
1282 return templ_7745c5c3_Err
1283 }
1284 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 102, "</a>")
1285 if templ_7745c5c3_Err != nil {
1286 return templ_7745c5c3_Err
1287 }
1288 } else {
1289 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 103, "<span>")
1290 if templ_7745c5c3_Err != nil {
1291 return templ_7745c5c3_Err
1292 }
1293 var templ_7745c5c3_Var71 string
1294 templ_7745c5c3_Var71, templ_7745c5c3_Err = templ.JoinStringErrs(a.Job)
1295 if templ_7745c5c3_Err != nil {
1296 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 169, Col: 21}
1297 }
1298 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var71))
1299 if templ_7745c5c3_Err != nil {
1300 return templ_7745c5c3_Err
1301 }
1302 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 104, "</span>")
1303 if templ_7745c5c3_Err != nil {
1304 return templ_7745c5c3_Err
1305 }
1306 }
1307 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 105, " <span class=\"mute\">")
1308 if templ_7745c5c3_Err != nil {
1309 return templ_7745c5c3_Err
1310 }
1311 var templ_7745c5c3_Var72 string
1312 templ_7745c5c3_Var72, templ_7745c5c3_Err = templ.JoinStringErrs(a.Step)
1313 if templ_7745c5c3_Err != nil {
1314 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 171, Col: 34}
1315 }
1316 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var72))
1317 if templ_7745c5c3_Err != nil {
1318 return templ_7745c5c3_Err
1319 }
1320 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 106, "</span> ")
1321 if templ_7745c5c3_Err != nil {
1322 return templ_7745c5c3_Err
1323 }
1324 }
1325 if a.Title != "" {
1326 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 107, "<strong>")
1327 if templ_7745c5c3_Err != nil {
1328 return templ_7745c5c3_Err
1329 }
1330 var templ_7745c5c3_Var73 string
1331 templ_7745c5c3_Var73, templ_7745c5c3_Err = templ.JoinStringErrs(a.Title)
1332 if templ_7745c5c3_Err != nil {
1333 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 174, Col: 24}
1334 }
1335 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var73))
1336 if templ_7745c5c3_Err != nil {
1337 return templ_7745c5c3_Err
1338 }
1339 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 108, "</strong>")
1340 if templ_7745c5c3_Err != nil {
1341 return templ_7745c5c3_Err
1342 }
1343 }
1344 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "</p><p class=\"annot-msg\">")
1345 if templ_7745c5c3_Err != nil {
1346 return templ_7745c5c3_Err
1347 }
1348 var templ_7745c5c3_Var74 string
1349 templ_7745c5c3_Var74, templ_7745c5c3_Err = templ.JoinStringErrs(a.Message)
1350 if templ_7745c5c3_Err != nil {
1351 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 177, Col: 37}
1352 }
1353 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var74))
1354 if templ_7745c5c3_Err != nil {
1355 return templ_7745c5c3_Err
1356 }
1357 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, "</p>")
1358 if templ_7745c5c3_Err != nil {
1359 return templ_7745c5c3_Err
1360 }
1361 if a.Where != "" {
1362 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 111, "<p class=\"annot-where\">")
1363 if templ_7745c5c3_Err != nil {
1364 return templ_7745c5c3_Err
1365 }
1366 if a.WhereHref != "" {
1367 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 112, "<a href=\"")
1368 if templ_7745c5c3_Err != nil {
1369 return templ_7745c5c3_Err
1370 }
1371 var templ_7745c5c3_Var75 templ.SafeURL
1372 templ_7745c5c3_Var75, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(a.WhereHref))
1373 if templ_7745c5c3_Err != nil {
1374 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 181, Col: 44}
1375 }
1376 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var75))
1377 if templ_7745c5c3_Err != nil {
1378 return templ_7745c5c3_Err
1379 }
1380 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 113, "\">")
1381 if templ_7745c5c3_Err != nil {
1382 return templ_7745c5c3_Err
1383 }
1384 var templ_7745c5c3_Var76 string
1385 templ_7745c5c3_Var76, templ_7745c5c3_Err = templ.JoinStringErrs(a.Where)
1386 if templ_7745c5c3_Err != nil {
1387 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 181, Col: 56}
1388 }
1389 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var76))
1390 if templ_7745c5c3_Err != nil {
1391 return templ_7745c5c3_Err
1392 }
1393 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 114, "</a>")
1394 if templ_7745c5c3_Err != nil {
1395 return templ_7745c5c3_Err
1396 }
1397 } else {
1398 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 115, "<span>")
1399 if templ_7745c5c3_Err != nil {
1400 return templ_7745c5c3_Err
1401 }
1402 var templ_7745c5c3_Var77 string
1403 templ_7745c5c3_Var77, templ_7745c5c3_Err = templ.JoinStringErrs(a.Where)
1404 if templ_7745c5c3_Err != nil {
1405 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 183, Col: 23}
1406 }
1407 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var77))
1408 if templ_7745c5c3_Err != nil {
1409 return templ_7745c5c3_Err
1410 }
1411 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 116, "</span>")
1412 if templ_7745c5c3_Err != nil {
1413 return templ_7745c5c3_Err
1414 }
1415 }
1416 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "</p>")
1417 if templ_7745c5c3_Err != nil {
1418 return templ_7745c5c3_Err
1419 }
1420 }
1421 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 118, "</div></li>")
1422 if templ_7745c5c3_Err != nil {
1423 return templ_7745c5c3_Err
1424 }
1425 }
1426 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 119, "</ul>")
1427 if templ_7745c5c3_Err != nil {
1428 return templ_7745c5c3_Err
1429 }
1430 if more {
1431 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 120, "<p class=\"mute\">more annotations exist than are shown.</p>")
1432 if templ_7745c5c3_Err != nil {
1433 return templ_7745c5c3_Err
1434 }
1435 }
1436 return nil
1437 })
1438}
1439
1440// JobAnnotations is the annotations of the job page, replaced by the live
1441// updates; the element exists even when there is none, so that the first one
1442// has something to replace.
1443func JobAnnotations(anns []AnnotationView, more bool) templ.Component {
1444 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1445 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1446 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1447 return templ_7745c5c3_CtxErr
1448 }
1449 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1450 if !templ_7745c5c3_IsBuffer {
1451 defer func() {
1452 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1453 if templ_7745c5c3_Err == nil {
1454 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1455 }
1456 }()
1457 }
1458 ctx = templ.InitializeContext(ctx)
1459 templ_7745c5c3_Var78 := templ.GetChildren(ctx)
1460 if templ_7745c5c3_Var78 == nil {
1461 templ_7745c5c3_Var78 = templ.NopComponent
1462 }
1463 ctx = templ.ClearChildren(ctx)
1464 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 121, "<section id=\"job-annotations\" class=\"annots\" aria-label=\"Annotations\">")
1465 if templ_7745c5c3_Err != nil {
1466 return templ_7745c5c3_Err
1467 }
1468 if len(anns) > 0 {
1469 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 122, "<h3>Annotations <span class=\"count\">")
1470 if templ_7745c5c3_Err != nil {
1471 return templ_7745c5c3_Err
1472 }
1473 var templ_7745c5c3_Var79 string
1474 templ_7745c5c3_Var79, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(anns)))
1475 if templ_7745c5c3_Err != nil {
1476 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 202, Col: 56}
1477 }
1478 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var79))
1479 if templ_7745c5c3_Err != nil {
1480 return templ_7745c5c3_Err
1481 }
1482 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 123, "</span></h3>")
1483 if templ_7745c5c3_Err != nil {
1484 return templ_7745c5c3_Err
1485 }
1486 templ_7745c5c3_Err = AnnotationList(anns, more, true).Render(ctx, templ_7745c5c3_Buffer)
1487 if templ_7745c5c3_Err != nil {
1488 return templ_7745c5c3_Err
1489 }
1490 }
1491 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 124, "</section>")
1492 if templ_7745c5c3_Err != nil {
1493 return templ_7745c5c3_Err
1494 }
1495 return nil
1496 })
1497}
1498
1499// RunArtifacts is the artifacts of a run, with the space the artifacts of
1500// the repository use. Names come from the workflow and are text.
1501func RunArtifacts(a ArtifactsView) templ.Component {
1502 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1503 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1504 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1505 return templ_7745c5c3_CtxErr
1506 }
1507 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1508 if !templ_7745c5c3_IsBuffer {
1509 defer func() {
1510 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1511 if templ_7745c5c3_Err == nil {
1512 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1513 }
1514 }()
1515 }
1516 ctx = templ.InitializeContext(ctx)
1517 templ_7745c5c3_Var80 := templ.GetChildren(ctx)
1518 if templ_7745c5c3_Var80 == nil {
1519 templ_7745c5c3_Var80 = templ.NopComponent
1520 }
1521 ctx = templ.ClearChildren(ctx)
1522 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 125, "<section class=\"artifacts\" aria-labelledby=\"run-artifacts\"><h3 id=\"run-artifacts\">Artifacts <span class=\"count\">")
1523 if templ_7745c5c3_Err != nil {
1524 return templ_7745c5c3_Err
1525 }
1526 var templ_7745c5c3_Var81 string
1527 templ_7745c5c3_Var81, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(a.Rows)))
1528 if templ_7745c5c3_Err != nil {
1529 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 212, Col: 74}
1530 }
1531 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var81))
1532 if templ_7745c5c3_Err != nil {
1533 return templ_7745c5c3_Err
1534 }
1535 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 126, "</span></h3><table class=\"list\" aria-label=\"Artifacts\"><thead><tr><th class=\"c-name\">name</th><th class=\"c-sub\">size</th><th class=\"c-who\">job</th><th class=\"c-when\">expires</th><th></th></tr></thead> <tbody>")
1536 if templ_7745c5c3_Err != nil {
1537 return templ_7745c5c3_Err
1538 }
1539 for _, r := range a.Rows {
1540 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 127, "<tr><td class=\"c-name\"><a href=\"")
1541 if templ_7745c5c3_Err != nil {
1542 return templ_7745c5c3_Err
1543 }
1544 var templ_7745c5c3_Var82 templ.SafeURL
1545 templ_7745c5c3_Var82, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
1546 if templ_7745c5c3_Err != nil {
1547 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 220, Col: 56}
1548 }
1549 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var82))
1550 if templ_7745c5c3_Err != nil {
1551 return templ_7745c5c3_Err
1552 }
1553 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 128, "\" download>")
1554 if templ_7745c5c3_Err != nil {
1555 return templ_7745c5c3_Err
1556 }
1557 var templ_7745c5c3_Var83 string
1558 templ_7745c5c3_Var83, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
1559 if templ_7745c5c3_Err != nil {
1560 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 220, Col: 76}
1561 }
1562 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var83))
1563 if templ_7745c5c3_Err != nil {
1564 return templ_7745c5c3_Err
1565 }
1566 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 129, "</a></td><td class=\"c-sub dim\">")
1567 if templ_7745c5c3_Err != nil {
1568 return templ_7745c5c3_Err
1569 }
1570 var templ_7745c5c3_Var84 string
1571 templ_7745c5c3_Var84, templ_7745c5c3_Err = templ.JoinStringErrs(r.Size)
1572 if templ_7745c5c3_Err != nil {
1573 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 221, Col: 36}
1574 }
1575 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var84))
1576 if templ_7745c5c3_Err != nil {
1577 return templ_7745c5c3_Err
1578 }
1579 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 130, "</td><td class=\"c-who\">")
1580 if templ_7745c5c3_Err != nil {
1581 return templ_7745c5c3_Err
1582 }
1583 if r.JobHref != "" {
1584 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 131, "<a href=\"")
1585 if templ_7745c5c3_Err != nil {
1586 return templ_7745c5c3_Err
1587 }
1588 var templ_7745c5c3_Var85 templ.SafeURL
1589 templ_7745c5c3_Var85, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.JobHref))
1590 if templ_7745c5c3_Err != nil {
1591 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 224, Col: 42}
1592 }
1593 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var85))
1594 if templ_7745c5c3_Err != nil {
1595 return templ_7745c5c3_Err
1596 }
1597 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 132, "\">")
1598 if templ_7745c5c3_Err != nil {
1599 return templ_7745c5c3_Err
1600 }
1601 var templ_7745c5c3_Var86 string
1602 templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.JoinStringErrs(r.Job)
1603 if templ_7745c5c3_Err != nil {
1604 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 224, Col: 52}
1605 }
1606 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var86))
1607 if templ_7745c5c3_Err != nil {
1608 return templ_7745c5c3_Err
1609 }
1610 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 133, "</a>")
1611 if templ_7745c5c3_Err != nil {
1612 return templ_7745c5c3_Err
1613 }
1614 } else {
1615 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 134, "<span class=\"dim\">")
1616 if templ_7745c5c3_Err != nil {
1617 return templ_7745c5c3_Err
1618 }
1619 var templ_7745c5c3_Var87 string
1620 templ_7745c5c3_Var87, templ_7745c5c3_Err = templ.JoinStringErrs(r.Job)
1621 if templ_7745c5c3_Err != nil {
1622 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 226, Col: 33}
1623 }
1624 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var87))
1625 if templ_7745c5c3_Err != nil {
1626 return templ_7745c5c3_Err
1627 }
1628 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 135, "</span>")
1629 if templ_7745c5c3_Err != nil {
1630 return templ_7745c5c3_Err
1631 }
1632 }
1633 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 136, "</td><td class=\"c-when dim\">")
1634 if templ_7745c5c3_Err != nil {
1635 return templ_7745c5c3_Err
1636 }
1637 if r.ExpiresAt != "" {
1638 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 137, "<time datetime=\"")
1639 if templ_7745c5c3_Err != nil {
1640 return templ_7745c5c3_Err
1641 }
1642 var templ_7745c5c3_Var88 string
1643 templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.ExpiresAt)
1644 if templ_7745c5c3_Err != nil {
1645 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 231, Col: 36}
1646 }
1647 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var88)
1648 if templ_7745c5c3_Err != nil {
1649 return templ_7745c5c3_Err
1650 }
1651 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 138, "\">")
1652 if templ_7745c5c3_Err != nil {
1653 return templ_7745c5c3_Err
1654 }
1655 var templ_7745c5c3_Var89 string
1656 templ_7745c5c3_Var89, templ_7745c5c3_Err = templ.JoinStringErrs(r.Expires)
1657 if templ_7745c5c3_Err != nil {
1658 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 231, Col: 50}
1659 }
1660 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var89))
1661 if templ_7745c5c3_Err != nil {
1662 return templ_7745c5c3_Err
1663 }
1664 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 139, "</time>")
1665 if templ_7745c5c3_Err != nil {
1666 return templ_7745c5c3_Err
1667 }
1668 } else {
1669 var templ_7745c5c3_Var90 string
1670 templ_7745c5c3_Var90, templ_7745c5c3_Err = templ.JoinStringErrs(r.Expires)
1671 if templ_7745c5c3_Err != nil {
1672 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 233, Col: 19}
1673 }
1674 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var90))
1675 if templ_7745c5c3_Err != nil {
1676 return templ_7745c5c3_Err
1677 }
1678 }
1679 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 140, "</td><td>")
1680 if templ_7745c5c3_Err != nil {
1681 return templ_7745c5c3_Err
1682 }
1683 if r.DeleteAction != "" {
1684 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 141, "<form method=\"post\" action=\"")
1685 if templ_7745c5c3_Err != nil {
1686 return templ_7745c5c3_Err
1687 }
1688 var templ_7745c5c3_Var91 templ.SafeURL
1689 templ_7745c5c3_Var91, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.DeleteAction))
1690 if templ_7745c5c3_Err != nil {
1691 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 238, Col: 66}
1692 }
1693 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var91))
1694 if templ_7745c5c3_Err != nil {
1695 return templ_7745c5c3_Err
1696 }
1697 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 142, "\"><button type=\"submit\" class=\"btn\" aria-label=\"")
1698 if templ_7745c5c3_Err != nil {
1699 return templ_7745c5c3_Err
1700 }
1701 var templ_7745c5c3_Var92 string
1702 templ_7745c5c3_Var92, templ_7745c5c3_Err = templ.ResolveAttributeValue("Delete " + r.Name)
1703 if templ_7745c5c3_Err != nil {
1704 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 238, Col: 134}
1705 }
1706 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var92)
1707 if templ_7745c5c3_Err != nil {
1708 return templ_7745c5c3_Err
1709 }
1710 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 143, "\">Delete</button></form>")
1711 if templ_7745c5c3_Err != nil {
1712 return templ_7745c5c3_Err
1713 }
1714 }
1715 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 144, "</td></tr>")
1716 if templ_7745c5c3_Err != nil {
1717 return templ_7745c5c3_Err
1718 }
1719 }
1720 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 145, "</tbody></table><p class=\"mute\">")
1721 if templ_7745c5c3_Err != nil {
1722 return templ_7745c5c3_Err
1723 }
1724 var templ_7745c5c3_Var93 string
1725 templ_7745c5c3_Var93, templ_7745c5c3_Err = templ.JoinStringErrs(a.Usage)
1726 if templ_7745c5c3_Err != nil {
1727 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 245, Col: 27}
1728 }
1729 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var93))
1730 if templ_7745c5c3_Err != nil {
1731 return templ_7745c5c3_Err
1732 }
1733 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 146, "</p></section>")
1734 if templ_7745c5c3_Err != nil {
1735 return templ_7745c5c3_Err
1736 }
1737 return nil
1738 })
1739}
1740
1741// RunSummaries is the job summaries of a run, one block per step that wrote
1742// one. The Markdown is rendered by the README renderer: raw HTML dropped, URLs
1743// filtered, images shown as their alt text.
1744func RunSummaries(sums []JobSummaries, more bool) templ.Component {
1745 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1746 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1747 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1748 return templ_7745c5c3_CtxErr
1749 }
1750 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1751 if !templ_7745c5c3_IsBuffer {
1752 defer func() {
1753 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1754 if templ_7745c5c3_Err == nil {
1755 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1756 }
1757 }()
1758 }
1759 ctx = templ.InitializeContext(ctx)
1760 templ_7745c5c3_Var94 := templ.GetChildren(ctx)
1761 if templ_7745c5c3_Var94 == nil {
1762 templ_7745c5c3_Var94 = templ.NopComponent
1763 }
1764 ctx = templ.ClearChildren(ctx)
1765 for _, j := range sums {
1766 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 147, "<section class=\"summaries\" aria-label=\"")
1767 if templ_7745c5c3_Err != nil {
1768 return templ_7745c5c3_Err
1769 }
1770 var templ_7745c5c3_Var95 string
1771 templ_7745c5c3_Var95, templ_7745c5c3_Err = templ.ResolveAttributeValue("Summary of " + j.Job)
1772 if templ_7745c5c3_Err != nil {
1773 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 254, Col: 63}
1774 }
1775 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var95)
1776 if templ_7745c5c3_Err != nil {
1777 return templ_7745c5c3_Err
1778 }
1779 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 148, "\"><h3>")
1780 if templ_7745c5c3_Err != nil {
1781 return templ_7745c5c3_Err
1782 }
1783 if j.JobHref != "" {
1784 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 149, "<a href=\"")
1785 if templ_7745c5c3_Err != nil {
1786 return templ_7745c5c3_Err
1787 }
1788 var templ_7745c5c3_Var96 templ.SafeURL
1789 templ_7745c5c3_Var96, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(j.JobHref))
1790 if templ_7745c5c3_Err != nil {
1791 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 257, Col: 39}
1792 }
1793 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var96))
1794 if templ_7745c5c3_Err != nil {
1795 return templ_7745c5c3_Err
1796 }
1797 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 150, "\">")
1798 if templ_7745c5c3_Err != nil {
1799 return templ_7745c5c3_Err
1800 }
1801 var templ_7745c5c3_Var97 string
1802 templ_7745c5c3_Var97, templ_7745c5c3_Err = templ.JoinStringErrs(j.Job)
1803 if templ_7745c5c3_Err != nil {
1804 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 257, Col: 49}
1805 }
1806 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var97))
1807 if templ_7745c5c3_Err != nil {
1808 return templ_7745c5c3_Err
1809 }
1810 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 151, "</a> ")
1811 if templ_7745c5c3_Err != nil {
1812 return templ_7745c5c3_Err
1813 }
1814 } else {
1815 var templ_7745c5c3_Var98 string
1816 templ_7745c5c3_Var98, templ_7745c5c3_Err = templ.JoinStringErrs(j.Job)
1817 if templ_7745c5c3_Err != nil {
1818 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 259, Col: 12}
1819 }
1820 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var98))
1821 if templ_7745c5c3_Err != nil {
1822 return templ_7745c5c3_Err
1823 }
1824 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 152, " ")
1825 if templ_7745c5c3_Err != nil {
1826 return templ_7745c5c3_Err
1827 }
1828 }
1829 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 153, "<span class=\"mute\">summary</span></h3>")
1830 if templ_7745c5c3_Err != nil {
1831 return templ_7745c5c3_Err
1832 }
1833 for _, s := range j.Steps {
1834 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 154, "<article class=\"prose summary\" aria-label=\"")
1835 if templ_7745c5c3_Err != nil {
1836 return templ_7745c5c3_Err
1837 }
1838 var templ_7745c5c3_Var99 string
1839 templ_7745c5c3_Var99, templ_7745c5c3_Err = templ.ResolveAttributeValue(s.Step)
1840 if templ_7745c5c3_Err != nil {
1841 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 264, Col: 54}
1842 }
1843 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var99)
1844 if templ_7745c5c3_Err != nil {
1845 return templ_7745c5c3_Err
1846 }
1847 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 155, "\" hx-ignore><h4 class=\"summary-step\">")
1848 if templ_7745c5c3_Err != nil {
1849 return templ_7745c5c3_Err
1850 }
1851 var templ_7745c5c3_Var100 string
1852 templ_7745c5c3_Var100, templ_7745c5c3_Err = templ.JoinStringErrs(s.Step)
1853 if templ_7745c5c3_Err != nil {
1854 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 265, Col: 38}
1855 }
1856 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var100))
1857 if templ_7745c5c3_Err != nil {
1858 return templ_7745c5c3_Err
1859 }
1860 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 156, "</h4>")
1861 if templ_7745c5c3_Err != nil {
1862 return templ_7745c5c3_Err
1863 }
1864 if s.Note != "" {
1865 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 157, "<p class=\"dim\">")
1866 if templ_7745c5c3_Err != nil {
1867 return templ_7745c5c3_Err
1868 }
1869 var templ_7745c5c3_Var101 string
1870 templ_7745c5c3_Var101, templ_7745c5c3_Err = templ.JoinStringErrs(s.Note)
1871 if templ_7745c5c3_Err != nil {
1872 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 267, Col: 29}
1873 }
1874 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var101))
1875 if templ_7745c5c3_Err != nil {
1876 return templ_7745c5c3_Err
1877 }
1878 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 158, "</p>")
1879 if templ_7745c5c3_Err != nil {
1880 return templ_7745c5c3_Err
1881 }
1882 } else {
1883 templ_7745c5c3_Err = templ.Raw(s.HTML).Render(ctx, templ_7745c5c3_Buffer)
1884 if templ_7745c5c3_Err != nil {
1885 return templ_7745c5c3_Err
1886 }
1887 }
1888 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 159, "</article>")
1889 if templ_7745c5c3_Err != nil {
1890 return templ_7745c5c3_Err
1891 }
1892 }
1893 if j.More {
1894 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 160, "<p class=\"mute\">the job has more summaries than the first 20, which are shown.</p>")
1895 if templ_7745c5c3_Err != nil {
1896 return templ_7745c5c3_Err
1897 }
1898 }
1899 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 161, "</section>")
1900 if templ_7745c5c3_Err != nil {
1901 return templ_7745c5c3_Err
1902 }
1903 }
1904 if more {
1905 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 162, "<p class=\"mute\">more summaries are not shown: the summaries of the page are over ")
1906 if templ_7745c5c3_Err != nil {
1907 return templ_7745c5c3_Err
1908 }
1909 var templ_7745c5c3_Var102 string
1910 templ_7745c5c3_Var102, templ_7745c5c3_Err = templ.JoinStringErrs(humanSize(maxSummaryPageBytes))
1911 if templ_7745c5c3_Err != nil {
1912 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 279, Col: 115}
1913 }
1914 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var102))
1915 if templ_7745c5c3_Err != nil {
1916 return templ_7745c5c3_Err
1917 }
1918 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 163, ".</p>")
1919 if templ_7745c5c3_Err != nil {
1920 return templ_7745c5c3_Err
1921 }
1922 }
1923 return nil
1924 })
1925}
1926
1927func runRail(p RunPage) templ.Component {
1928 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1929 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1930 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1931 return templ_7745c5c3_CtxErr
1932 }
1933 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1934 if !templ_7745c5c3_IsBuffer {
1935 defer func() {
1936 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1937 if templ_7745c5c3_Err == nil {
1938 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1939 }
1940 }()
1941 }
1942 ctx = templ.InitializeContext(ctx)
1943 templ_7745c5c3_Var103 := templ.GetChildren(ctx)
1944 if templ_7745c5c3_Var103 == nil {
1945 templ_7745c5c3_Var103 = templ.NopComponent
1946 }
1947 ctx = templ.ClearChildren(ctx)
1948 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 164, "<section aria-labelledby=\"r-run\"><h2 id=\"r-run\">Run</h2><dl class=\"kv\"><dt>result</dt><dd>")
1949 if templ_7745c5c3_Err != nil {
1950 return templ_7745c5c3_Err
1951 }
1952 var templ_7745c5c3_Var104 string
1953 templ_7745c5c3_Var104, templ_7745c5c3_Err = templ.JoinStringErrs(p.State)
1954 if templ_7745c5c3_Err != nil {
1955 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 288, Col: 16}
1956 }
1957 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var104))
1958 if templ_7745c5c3_Err != nil {
1959 return templ_7745c5c3_Err
1960 }
1961 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 165, "</dd><dt>event</dt><dd>")
1962 if templ_7745c5c3_Err != nil {
1963 return templ_7745c5c3_Err
1964 }
1965 var templ_7745c5c3_Var105 string
1966 templ_7745c5c3_Var105, templ_7745c5c3_Err = templ.JoinStringErrs(p.Event)
1967 if templ_7745c5c3_Err != nil {
1968 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 290, Col: 16}
1969 }
1970 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var105))
1971 if templ_7745c5c3_Err != nil {
1972 return templ_7745c5c3_Err
1973 }
1974 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 166, "</dd><dt>commit</dt><dd><a href=\"")
1975 if templ_7745c5c3_Err != nil {
1976 return templ_7745c5c3_Err
1977 }
1978 var templ_7745c5c3_Var106 templ.SafeURL
1979 templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.CHref))
1980 if templ_7745c5c3_Err != nil {
1981 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 292, Col: 39}
1982 }
1983 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106))
1984 if templ_7745c5c3_Err != nil {
1985 return templ_7745c5c3_Err
1986 }
1987 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 167, "\">")
1988 if templ_7745c5c3_Err != nil {
1989 return templ_7745c5c3_Err
1990 }
1991 var templ_7745c5c3_Var107 string
1992 templ_7745c5c3_Var107, templ_7745c5c3_Err = templ.JoinStringErrs(p.Short)
1993 if templ_7745c5c3_Err != nil {
1994 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 292, Col: 51}
1995 }
1996 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var107))
1997 if templ_7745c5c3_Err != nil {
1998 return templ_7745c5c3_Err
1999 }
2000 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 168, "</a></dd><dt>ref</dt><dd><a href=\"")
2001 if templ_7745c5c3_Err != nil {
2002 return templ_7745c5c3_Err
2003 }
2004 var templ_7745c5c3_Var108 templ.SafeURL
2005 templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.RefHref))
2006 if templ_7745c5c3_Err != nil {
2007 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 294, Col: 41}
2008 }
2009 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var108))
2010 if templ_7745c5c3_Err != nil {
2011 return templ_7745c5c3_Err
2012 }
2013 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 169, "\">")
2014 if templ_7745c5c3_Err != nil {
2015 return templ_7745c5c3_Err
2016 }
2017 var templ_7745c5c3_Var109 string
2018 templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(p.Ref)
2019 if templ_7745c5c3_Err != nil {
2020 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 294, Col: 51}
2021 }
2022 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109))
2023 if templ_7745c5c3_Err != nil {
2024 return templ_7745c5c3_Err
2025 }
2026 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 170, "</a></dd><dt>actor</dt><dd>")
2027 if templ_7745c5c3_Err != nil {
2028 return templ_7745c5c3_Err
2029 }
2030 var templ_7745c5c3_Var110 string
2031 templ_7745c5c3_Var110, templ_7745c5c3_Err = templ.JoinStringErrs(p.Actor)
2032 if templ_7745c5c3_Err != nil {
2033 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 296, Col: 16}
2034 }
2035 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var110))
2036 if templ_7745c5c3_Err != nil {
2037 return templ_7745c5c3_Err
2038 }
2039 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 171, "</dd><dt>attempt</dt><dd>")
2040 if templ_7745c5c3_Err != nil {
2041 return templ_7745c5c3_Err
2042 }
2043 var templ_7745c5c3_Var111 string
2044 templ_7745c5c3_Var111, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(int(p.Attempt)))
2045 if templ_7745c5c3_Err != nil {
2046 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 298, Col: 29}
2047 }
2048 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var111))
2049 if templ_7745c5c3_Err != nil {
2050 return templ_7745c5c3_Err
2051 }
2052 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 172, " of ")
2053 if templ_7745c5c3_Err != nil {
2054 return templ_7745c5c3_Err
2055 }
2056 var templ_7745c5c3_Var112 string
2057 templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(int(p.Latest)))
2058 if templ_7745c5c3_Err != nil {
2059 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 298, Col: 56}
2060 }
2061 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112))
2062 if templ_7745c5c3_Err != nil {
2063 return templ_7745c5c3_Err
2064 }
2065 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 173, "</dd></dl>")
2066 if templ_7745c5c3_Err != nil {
2067 return templ_7745c5c3_Err
2068 }
2069 if len(p.Attempts) > 0 {
2070 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 174, "<ul class=\"attempts\">")
2071 if templ_7745c5c3_Err != nil {
2072 return templ_7745c5c3_Err
2073 }
2074 for _, a := range p.Attempts {
2075 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 175, "<li>")
2076 if templ_7745c5c3_Err != nil {
2077 return templ_7745c5c3_Err
2078 }
2079 if a.Current {
2080 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 176, "<span aria-current=\"page\">")
2081 if templ_7745c5c3_Err != nil {
2082 return templ_7745c5c3_Err
2083 }
2084 var templ_7745c5c3_Var113 string
2085 templ_7745c5c3_Var113, templ_7745c5c3_Err = templ.JoinStringErrs(a.Label)
2086 if templ_7745c5c3_Err != nil {
2087 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 305, Col: 42}
2088 }
2089 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var113))
2090 if templ_7745c5c3_Err != nil {
2091 return templ_7745c5c3_Err
2092 }
2093 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 177, "</span>")
2094 if templ_7745c5c3_Err != nil {
2095 return templ_7745c5c3_Err
2096 }
2097 } else {
2098 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 178, "<a href=\"")
2099 if templ_7745c5c3_Err != nil {
2100 return templ_7745c5c3_Err
2101 }
2102 var templ_7745c5c3_Var114 templ.SafeURL
2103 templ_7745c5c3_Var114, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(a.Href))
2104 if templ_7745c5c3_Err != nil {
2105 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 307, Col: 38}
2106 }
2107 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var114))
2108 if templ_7745c5c3_Err != nil {
2109 return templ_7745c5c3_Err
2110 }
2111 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 179, "\">")
2112 if templ_7745c5c3_Err != nil {
2113 return templ_7745c5c3_Err
2114 }
2115 var templ_7745c5c3_Var115 string
2116 templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(a.Label)
2117 if templ_7745c5c3_Err != nil {
2118 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 307, Col: 50}
2119 }
2120 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115))
2121 if templ_7745c5c3_Err != nil {
2122 return templ_7745c5c3_Err
2123 }
2124 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 180, "</a>")
2125 if templ_7745c5c3_Err != nil {
2126 return templ_7745c5c3_Err
2127 }
2128 }
2129 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 181, "</li>")
2130 if templ_7745c5c3_Err != nil {
2131 return templ_7745c5c3_Err
2132 }
2133 }
2134 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 182, "</ul>")
2135 if templ_7745c5c3_Err != nil {
2136 return templ_7745c5c3_Err
2137 }
2138 }
2139 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 183, "</section>")
2140 if templ_7745c5c3_Err != nil {
2141 return templ_7745c5c3_Err
2142 }
2143 if p.CancelAction != "" || p.RerunAction != "" {
2144 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 184, "<section aria-labelledby=\"r-act\" class=\"decide\"><h2 id=\"r-act\">Actions</h2><div class=\"d-btns\">")
2145 if templ_7745c5c3_Err != nil {
2146 return templ_7745c5c3_Err
2147 }
2148 if p.CancelAction != "" {
2149 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 185, "<form method=\"post\" action=\"")
2150 if templ_7745c5c3_Err != nil {
2151 return templ_7745c5c3_Err
2152 }
2153 var templ_7745c5c3_Var116 templ.SafeURL
2154 templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.CancelAction))
2155 if templ_7745c5c3_Err != nil {
2156 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 319, Col: 63}
2157 }
2158 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116))
2159 if templ_7745c5c3_Err != nil {
2160 return templ_7745c5c3_Err
2161 }
2162 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 186, "\"><button type=\"submit\" class=\"btn\">Cancel run</button></form>")
2163 if templ_7745c5c3_Err != nil {
2164 return templ_7745c5c3_Err
2165 }
2166 }
2167 if p.RerunAction != "" {
2168 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 187, "<form method=\"post\" action=\"")
2169 if templ_7745c5c3_Err != nil {
2170 return templ_7745c5c3_Err
2171 }
2172 var templ_7745c5c3_Var117 templ.SafeURL
2173 templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.RerunAction))
2174 if templ_7745c5c3_Err != nil {
2175 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 322, Col: 62}
2176 }
2177 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117))
2178 if templ_7745c5c3_Err != nil {
2179 return templ_7745c5c3_Err
2180 }
2181 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 188, "\"><button type=\"submit\" class=\"btn primary\">Re-run all jobs</button></form>")
2182 if templ_7745c5c3_Err != nil {
2183 return templ_7745c5c3_Err
2184 }
2185 }
2186 if p.CanRerunFailed {
2187 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 189, "<form method=\"post\" action=\"")
2188 if templ_7745c5c3_Err != nil {
2189 return templ_7745c5c3_Err
2190 }
2191 var templ_7745c5c3_Var118 templ.SafeURL
2192 templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.RerunFailedAction))
2193 if templ_7745c5c3_Err != nil {
2194 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 325, Col: 68}
2195 }
2196 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var118))
2197 if templ_7745c5c3_Err != nil {
2198 return templ_7745c5c3_Err
2199 }
2200 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 190, "\"><button type=\"submit\" class=\"btn\">Re-run failed jobs</button></form>")
2201 if templ_7745c5c3_Err != nil {
2202 return templ_7745c5c3_Err
2203 }
2204 }
2205 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 191, "</div></section>")
2206 if templ_7745c5c3_Err != nil {
2207 return templ_7745c5c3_Err
2208 }
2209 }
2210 return nil
2211 })
2212}
2213
2214// JobHead is the title of the job page with its state and its error, replaced
2215// by the live updates. total is the number of lines the log holds.
2216func JobHead(j JobRow, total int64) templ.Component {
2217 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2218 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2219 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
2220 return templ_7745c5c3_CtxErr
2221 }
2222 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2223 if !templ_7745c5c3_IsBuffer {
2224 defer func() {
2225 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2226 if templ_7745c5c3_Err == nil {
2227 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2228 }
2229 }()
2230 }
2231 ctx = templ.InitializeContext(ctx)
2232 templ_7745c5c3_Var119 := templ.GetChildren(ctx)
2233 if templ_7745c5c3_Var119 == nil {
2234 templ_7745c5c3_Var119 = templ.NopComponent
2235 }
2236 ctx = templ.ClearChildren(ctx)
2237 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 192, "<div id=\"job-head\" data-total=\"")
2238 if templ_7745c5c3_Err != nil {
2239 return templ_7745c5c3_Err
2240 }
2241 var templ_7745c5c3_Var120 string
2242 templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa64(total))
2243 if templ_7745c5c3_Err != nil {
2244 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 335, Col: 46}
2245 }
2246 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var120)
2247 if templ_7745c5c3_Err != nil {
2248 return templ_7745c5c3_Err
2249 }
2250 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 193, "\"><h2 class=\"run-h\">")
2251 if templ_7745c5c3_Err != nil {
2252 return templ_7745c5c3_Err
2253 }
2254 templ_7745c5c3_Err = CheckIcon(j.Kind, j.State).Render(ctx, templ_7745c5c3_Buffer)
2255 if templ_7745c5c3_Err != nil {
2256 return templ_7745c5c3_Err
2257 }
2258 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 194, "<span>")
2259 if templ_7745c5c3_Err != nil {
2260 return templ_7745c5c3_Err
2261 }
2262 var templ_7745c5c3_Var121 string
2263 templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(j.Name)
2264 if templ_7745c5c3_Err != nil {
2265 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 336, Col: 61}
2266 }
2267 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121))
2268 if templ_7745c5c3_Err != nil {
2269 return templ_7745c5c3_Err
2270 }
2271 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 195, "</span> <span class=\"dim\">")
2272 if templ_7745c5c3_Err != nil {
2273 return templ_7745c5c3_Err
2274 }
2275 var templ_7745c5c3_Var122 string
2276 templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(j.State)
2277 if templ_7745c5c3_Err != nil {
2278 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 336, Col: 98}
2279 }
2280 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122))
2281 if templ_7745c5c3_Err != nil {
2282 return templ_7745c5c3_Err
2283 }
2284 var templ_7745c5c3_Var123 string
2285 templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(" ")
2286 if templ_7745c5c3_Err != nil {
2287 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 336, Col: 105}
2288 }
2289 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123))
2290 if templ_7745c5c3_Err != nil {
2291 return templ_7745c5c3_Err
2292 }
2293 var templ_7745c5c3_Var124 string
2294 templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(j.Duration)
2295 if templ_7745c5c3_Err != nil {
2296 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 336, Col: 119}
2297 }
2298 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124))
2299 if templ_7745c5c3_Err != nil {
2300 return templ_7745c5c3_Err
2301 }
2302 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 196, "</span></h2>")
2303 if templ_7745c5c3_Err != nil {
2304 return templ_7745c5c3_Err
2305 }
2306 if j.Error != "" {
2307 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 197, "<p class=\"job-err\">")
2308 if templ_7745c5c3_Err != nil {
2309 return templ_7745c5c3_Err
2310 }
2311 var templ_7745c5c3_Var125 string
2312 templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.JoinStringErrs(j.Error)
2313 if templ_7745c5c3_Err != nil {
2314 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 338, Col: 31}
2315 }
2316 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var125))
2317 if templ_7745c5c3_Err != nil {
2318 return templ_7745c5c3_Err
2319 }
2320 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 198, "</p>")
2321 if templ_7745c5c3_Err != nil {
2322 return templ_7745c5c3_Err
2323 }
2324 }
2325 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 199, "</div>")
2326 if templ_7745c5c3_Err != nil {
2327 return templ_7745c5c3_Err
2328 }
2329 return nil
2330 })
2331}
2332
2333// JobSteps is the steps of the job in the rail, replaced by the live updates.
2334func JobSteps(steps []StepView) templ.Component {
2335 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2336 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2337 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
2338 return templ_7745c5c3_CtxErr
2339 }
2340 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2341 if !templ_7745c5c3_IsBuffer {
2342 defer func() {
2343 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2344 if templ_7745c5c3_Err == nil {
2345 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2346 }
2347 }()
2348 }
2349 ctx = templ.InitializeContext(ctx)
2350 templ_7745c5c3_Var126 := templ.GetChildren(ctx)
2351 if templ_7745c5c3_Var126 == nil {
2352 templ_7745c5c3_Var126 = templ.NopComponent
2353 }
2354 ctx = templ.ClearChildren(ctx)
2355 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 200, "<ol class=\"steps\" id=\"job-steps\">")
2356 if templ_7745c5c3_Err != nil {
2357 return templ_7745c5c3_Err
2358 }
2359 for _, s := range steps {
2360 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 201, "<li>")
2361 if templ_7745c5c3_Err != nil {
2362 return templ_7745c5c3_Err
2363 }
2364 templ_7745c5c3_Err = CheckIcon(s.Kind, s.State).Render(ctx, templ_7745c5c3_Buffer)
2365 if templ_7745c5c3_Err != nil {
2366 return templ_7745c5c3_Err
2367 }
2368 if s.LogEnd > s.LogStart {
2369 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 202, "<a href=\"")
2370 if templ_7745c5c3_Err != nil {
2371 return templ_7745c5c3_Err
2372 }
2373 var templ_7745c5c3_Var127 templ.SafeURL
2374 templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("#L" + itoa64(s.LogStart)))
2375 if templ_7745c5c3_Err != nil {
2376 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 350, Col: 55}
2377 }
2378 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127))
2379 if templ_7745c5c3_Err != nil {
2380 return templ_7745c5c3_Err
2381 }
2382 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 203, "\">")
2383 if templ_7745c5c3_Err != nil {
2384 return templ_7745c5c3_Err
2385 }
2386 var templ_7745c5c3_Var128 string
2387 templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs(s.Name)
2388 if templ_7745c5c3_Err != nil {
2389 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 350, Col: 66}
2390 }
2391 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128))
2392 if templ_7745c5c3_Err != nil {
2393 return templ_7745c5c3_Err
2394 }
2395 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 204, "</a> ")
2396 if templ_7745c5c3_Err != nil {
2397 return templ_7745c5c3_Err
2398 }
2399 } else {
2400 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 205, "<span>")
2401 if templ_7745c5c3_Err != nil {
2402 return templ_7745c5c3_Err
2403 }
2404 var templ_7745c5c3_Var129 string
2405 templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinStringErrs(s.Name)
2406 if templ_7745c5c3_Err != nil {
2407 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 352, Col: 19}
2408 }
2409 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129))
2410 if templ_7745c5c3_Err != nil {
2411 return templ_7745c5c3_Err
2412 }
2413 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 206, "</span> ")
2414 if templ_7745c5c3_Err != nil {
2415 return templ_7745c5c3_Err
2416 }
2417 }
2418 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "<span class=\"dim\">")
2419 if templ_7745c5c3_Err != nil {
2420 return templ_7745c5c3_Err
2421 }
2422 var templ_7745c5c3_Var130 string
2423 templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.JoinStringErrs(s.Duration)
2424 if templ_7745c5c3_Err != nil {
2425 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 354, Col: 34}
2426 }
2427 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var130))
2428 if templ_7745c5c3_Err != nil {
2429 return templ_7745c5c3_Err
2430 }
2431 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "</span></li>")
2432 if templ_7745c5c3_Err != nil {
2433 return templ_7745c5c3_Err
2434 }
2435 }
2436 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "</ol>")
2437 if templ_7745c5c3_Err != nil {
2438 return templ_7745c5c3_Err
2439 }
2440 return nil
2441 })
2442}
2443
2444func Job(l Layout, p JobPage) templ.Component {
2445 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2446 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2447 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
2448 return templ_7745c5c3_CtxErr
2449 }
2450 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2451 if !templ_7745c5c3_IsBuffer {
2452 defer func() {
2453 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2454 if templ_7745c5c3_Err == nil {
2455 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2456 }
2457 }()
2458 }
2459 ctx = templ.InitializeContext(ctx)
2460 templ_7745c5c3_Var131 := templ.GetChildren(ctx)
2461 if templ_7745c5c3_Var131 == nil {
2462 templ_7745c5c3_Var131 = templ.NopComponent
2463 }
2464 ctx = templ.ClearChildren(ctx)
2465 templ_7745c5c3_Var132 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2466 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2467 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2468 if !templ_7745c5c3_IsBuffer {
2469 defer func() {
2470 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2471 if templ_7745c5c3_Err == nil {
2472 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2473 }
2474 }()
2475 }
2476 ctx = templ.InitializeContext(ctx)
2477 templ_7745c5c3_Err = LiveSlot("job-notice").Render(ctx, templ_7745c5c3_Buffer)
2478 if templ_7745c5c3_Err != nil {
2479 return templ_7745c5c3_Err
2480 }
2481 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, " ")
2482 if templ_7745c5c3_Err != nil {
2483 return templ_7745c5c3_Err
2484 }
2485 templ_7745c5c3_Err = JobHead(p.JobRow, p.Total).Render(ctx, templ_7745c5c3_Buffer)
2486 if templ_7745c5c3_Err != nil {
2487 return templ_7745c5c3_Err
2488 }
2489 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 211, " ")
2490 if templ_7745c5c3_Err != nil {
2491 return templ_7745c5c3_Err
2492 }
2493 templ_7745c5c3_Err = JobAnnotations(p.Annotations, p.AnnotationsMore).Render(ctx, templ_7745c5c3_Buffer)
2494 if templ_7745c5c3_Err != nil {
2495 return templ_7745c5c3_Err
2496 }
2497 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 212, " <div id=\"job-log\" class=\"joblog\" data-total=\"")
2498 if templ_7745c5c3_Err != nil {
2499 return templ_7745c5c3_Err
2500 }
2501 var templ_7745c5c3_Var133 string
2502 templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa64(p.Total))
2503 if templ_7745c5c3_Err != nil {
2504 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 365, Col: 63}
2505 }
2506 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var133)
2507 if templ_7745c5c3_Err != nil {
2508 return templ_7745c5c3_Err
2509 }
2510 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 213, "\"")
2511 if templ_7745c5c3_Err != nil {
2512 return templ_7745c5c3_Err
2513 }
2514 if p.Follow {
2515 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 214, " data-follow")
2516 if templ_7745c5c3_Err != nil {
2517 return templ_7745c5c3_Err
2518 }
2519 }
2520 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, " data-stream=\"")
2521 if templ_7745c5c3_Err != nil {
2522 return templ_7745c5c3_Err
2523 }
2524 var templ_7745c5c3_Var134 string
2525 templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.StreamHref)
2526 if templ_7745c5c3_Err != nil {
2527 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 365, Col: 118}
2528 }
2529 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var134)
2530 if templ_7745c5c3_Err != nil {
2531 return templ_7745c5c3_Err
2532 }
2533 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 216, "\" data-next=\"")
2534 if templ_7745c5c3_Err != nil {
2535 return templ_7745c5c3_Err
2536 }
2537 var templ_7745c5c3_Var135 string
2538 templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa64(p.From + int64(len(p.Lines))))
2539 if templ_7745c5c3_Err != nil {
2540 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 365, Col: 169}
2541 }
2542 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var135)
2543 if templ_7745c5c3_Err != nil {
2544 return templ_7745c5c3_Err
2545 }
2546 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 217, "\">")
2547 if templ_7745c5c3_Err != nil {
2548 return templ_7745c5c3_Err
2549 }
2550 if p.Note != "" {
2551 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "<p class=\"dim\">")
2552 if templ_7745c5c3_Err != nil {
2553 return templ_7745c5c3_Err
2554 }
2555 var templ_7745c5c3_Var136 string
2556 templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note)
2557 if templ_7745c5c3_Err != nil {
2558 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 367, Col: 27}
2559 }
2560 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136))
2561 if templ_7745c5c3_Err != nil {
2562 return templ_7745c5c3_Err
2563 }
2564 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 219, "</p>")
2565 if templ_7745c5c3_Err != nil {
2566 return templ_7745c5c3_Err
2567 }
2568 }
2569 if p.Prev != "" {
2570 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 220, "<p class=\"more\"><a href=\"")
2571 if templ_7745c5c3_Err != nil {
2572 return templ_7745c5c3_Err
2573 }
2574 var templ_7745c5c3_Var137 templ.SafeURL
2575 templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Prev))
2576 if templ_7745c5c3_Err != nil {
2577 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 370, Col: 51}
2578 }
2579 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137))
2580 if templ_7745c5c3_Err != nil {
2581 return templ_7745c5c3_Err
2582 }
2583 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 221, "\" rel=\"prev\">earlier lines</a></p>")
2584 if templ_7745c5c3_Err != nil {
2585 return templ_7745c5c3_Err
2586 }
2587 }
2588 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 222, "<ol class=\"log\" start=\"")
2589 if templ_7745c5c3_Err != nil {
2590 return templ_7745c5c3_Err
2591 }
2592 var templ_7745c5c3_Var138 string
2593 templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa64(p.From + 1))
2594 if templ_7745c5c3_Err != nil {
2595 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 372, Col: 45}
2596 }
2597 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var138)
2598 if templ_7745c5c3_Err != nil {
2599 return templ_7745c5c3_Err
2600 }
2601 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 223, "\">")
2602 if templ_7745c5c3_Err != nil {
2603 return templ_7745c5c3_Err
2604 }
2605 for _, ln := range p.Lines {
2606 templ_7745c5c3_Err = LogLine(ln).Render(ctx, templ_7745c5c3_Buffer)
2607 if templ_7745c5c3_Err != nil {
2608 return templ_7745c5c3_Err
2609 }
2610 }
2611 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 224, "</ol>")
2612 if templ_7745c5c3_Err != nil {
2613 return templ_7745c5c3_Err
2614 }
2615 if p.Next != "" {
2616 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 225, "<p class=\"more\"><a href=\"")
2617 if templ_7745c5c3_Err != nil {
2618 return templ_7745c5c3_Err
2619 }
2620 var templ_7745c5c3_Var139 templ.SafeURL
2621 templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Next))
2622 if templ_7745c5c3_Err != nil {
2623 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 378, Col: 51}
2624 }
2625 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139))
2626 if templ_7745c5c3_Err != nil {
2627 return templ_7745c5c3_Err
2628 }
2629 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "\" rel=\"next\">more lines</a></p>")
2630 if templ_7745c5c3_Err != nil {
2631 return templ_7745c5c3_Err
2632 }
2633 }
2634 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, "</div>")
2635 if templ_7745c5c3_Err != nil {
2636 return templ_7745c5c3_Err
2637 }
2638 return nil
2639 })
2640 templ_7745c5c3_Err = Shell(l, jobRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var132), templ_7745c5c3_Buffer)
2641 if templ_7745c5c3_Err != nil {
2642 return templ_7745c5c3_Err
2643 }
2644 return nil
2645 })
2646}
2647
2648// LogLine is a line of the log. Group and error markers of the runner show as
2649// headings and errors, never as raw text.
2650func LogLine(ln LogLineView) templ.Component {
2651 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2652 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2653 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
2654 return templ_7745c5c3_CtxErr
2655 }
2656 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2657 if !templ_7745c5c3_IsBuffer {
2658 defer func() {
2659 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2660 if templ_7745c5c3_Err == nil {
2661 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2662 }
2663 }()
2664 }
2665 ctx = templ.InitializeContext(ctx)
2666 templ_7745c5c3_Var140 := templ.GetChildren(ctx)
2667 if templ_7745c5c3_Var140 == nil {
2668 templ_7745c5c3_Var140 = templ.NopComponent
2669 }
2670 ctx = templ.ClearChildren(ctx)
2671 var templ_7745c5c3_Var141 = []any{logClass(ln)}
2672 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var141...)
2673 if templ_7745c5c3_Err != nil {
2674 return templ_7745c5c3_Err
2675 }
2676 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "<li id=\"")
2677 if templ_7745c5c3_Err != nil {
2678 return templ_7745c5c3_Err
2679 }
2680 var templ_7745c5c3_Var142 string
2681 templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue("L" + itoa64(ln.N))
2682 if templ_7745c5c3_Err != nil {
2683 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 387, Col: 28}
2684 }
2685 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142)
2686 if templ_7745c5c3_Err != nil {
2687 return templ_7745c5c3_Err
2688 }
2689 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, "\" class=\"")
2690 if templ_7745c5c3_Err != nil {
2691 return templ_7745c5c3_Err
2692 }
2693 var templ_7745c5c3_Var143 string
2694 templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.ResolveAttributeValue(templ.CSSClasses(templ_7745c5c3_Var141).String())
2695 if templ_7745c5c3_Err != nil {
2696 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 1, Col: 0}
2697 }
2698 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var143)
2699 if templ_7745c5c3_Err != nil {
2700 return templ_7745c5c3_Err
2701 }
2702 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "\" data-step=\"")
2703 if templ_7745c5c3_Err != nil {
2704 return templ_7745c5c3_Err
2705 }
2706 var templ_7745c5c3_Var144 string
2707 templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(int(ln.Step)))
2708 if templ_7745c5c3_Err != nil {
2709 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 387, Col: 84}
2710 }
2711 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144)
2712 if templ_7745c5c3_Err != nil {
2713 return templ_7745c5c3_Err
2714 }
2715 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "\"")
2716 if templ_7745c5c3_Err != nil {
2717 return templ_7745c5c3_Err
2718 }
2719 if ln.Continued {
2720 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, " data-cont")
2721 if templ_7745c5c3_Err != nil {
2722 return templ_7745c5c3_Err
2723 }
2724 }
2725 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "><time>")
2726 if templ_7745c5c3_Err != nil {
2727 return templ_7745c5c3_Err
2728 }
2729 var templ_7745c5c3_Var145 string
2730 templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(ln.Time)
2731 if templ_7745c5c3_Err != nil {
2732 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 387, Col: 130}
2733 }
2734 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145))
2735 if templ_7745c5c3_Err != nil {
2736 return templ_7745c5c3_Err
2737 }
2738 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, "</time><span class=\"t\">")
2739 if templ_7745c5c3_Err != nil {
2740 return templ_7745c5c3_Err
2741 }
2742 var templ_7745c5c3_Var146 string
2743 templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(ln.Text)
2744 if templ_7745c5c3_Err != nil {
2745 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 387, Col: 164}
2746 }
2747 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146))
2748 if templ_7745c5c3_Err != nil {
2749 return templ_7745c5c3_Err
2750 }
2751 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "</span></li>")
2752 if templ_7745c5c3_Err != nil {
2753 return templ_7745c5c3_Err
2754 }
2755 return nil
2756 })
2757}
2758
2759func jobRail(p JobPage) templ.Component {
2760 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2761 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2762 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
2763 return templ_7745c5c3_CtxErr
2764 }
2765 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2766 if !templ_7745c5c3_IsBuffer {
2767 defer func() {
2768 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2769 if templ_7745c5c3_Err == nil {
2770 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2771 }
2772 }()
2773 }
2774 ctx = templ.InitializeContext(ctx)
2775 templ_7745c5c3_Var147 := templ.GetChildren(ctx)
2776 if templ_7745c5c3_Var147 == nil {
2777 templ_7745c5c3_Var147 = templ.NopComponent
2778 }
2779 ctx = templ.ClearChildren(ctx)
2780 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "<section aria-labelledby=\"r-job\"><h2 id=\"r-job\">Steps</h2>")
2781 if templ_7745c5c3_Err != nil {
2782 return templ_7745c5c3_Err
2783 }
2784 templ_7745c5c3_Err = JobSteps(p.Steps).Render(ctx, templ_7745c5c3_Buffer)
2785 if templ_7745c5c3_Err != nil {
2786 return templ_7745c5c3_Err
2787 }
2788 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, "</section><section aria-labelledby=\"r-jobf\"><h2 id=\"r-jobf\">Job</h2><dl class=\"kv\"><dt>run</dt><dd><a href=\"")
2789 if templ_7745c5c3_Err != nil {
2790 return templ_7745c5c3_Err
2791 }
2792 var templ_7745c5c3_Var148 templ.SafeURL
2793 templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.RunHref))
2794 if templ_7745c5c3_Err != nil {
2795 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 399, Col: 41}
2796 }
2797 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var148))
2798 if templ_7745c5c3_Err != nil {
2799 return templ_7745c5c3_Err
2800 }
2801 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, "\">")
2802 if templ_7745c5c3_Err != nil {
2803 return templ_7745c5c3_Err
2804 }
2805 var templ_7745c5c3_Var149 string
2806 templ_7745c5c3_Var149, templ_7745c5c3_Err = templ.JoinStringErrs(p.RunName)
2807 if templ_7745c5c3_Err != nil {
2808 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 399, Col: 55}
2809 }
2810 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var149))
2811 if templ_7745c5c3_Err != nil {
2812 return templ_7745c5c3_Err
2813 }
2814 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, "</a></dd>")
2815 if templ_7745c5c3_Err != nil {
2816 return templ_7745c5c3_Err
2817 }
2818 if p.Runner != "" {
2819 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, "<dt>runner</dt><dd>")
2820 if templ_7745c5c3_Err != nil {
2821 return templ_7745c5c3_Err
2822 }
2823 var templ_7745c5c3_Var150 string
2824 templ_7745c5c3_Var150, templ_7745c5c3_Err = templ.JoinStringErrs(p.Runner)
2825 if templ_7745c5c3_Err != nil {
2826 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 402, Col: 18}
2827 }
2828 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var150))
2829 if templ_7745c5c3_Err != nil {
2830 return templ_7745c5c3_Err
2831 }
2832 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "</dd>")
2833 if templ_7745c5c3_Err != nil {
2834 return templ_7745c5c3_Err
2835 }
2836 }
2837 if p.Isolation != "" {
2838 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "<dt>isolation</dt><dd>")
2839 if templ_7745c5c3_Err != nil {
2840 return templ_7745c5c3_Err
2841 }
2842 var templ_7745c5c3_Var151 string
2843 templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(p.Isolation)
2844 if templ_7745c5c3_Err != nil {
2845 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 406, Col: 21}
2846 }
2847 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151))
2848 if templ_7745c5c3_Err != nil {
2849 return templ_7745c5c3_Err
2850 }
2851 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, "</dd>")
2852 if templ_7745c5c3_Err != nil {
2853 return templ_7745c5c3_Err
2854 }
2855 }
2856 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, "<dt>lines</dt><dd>")
2857 if templ_7745c5c3_Err != nil {
2858 return templ_7745c5c3_Err
2859 }
2860 var templ_7745c5c3_Var152 string
2861 templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(itoa64(p.Total))
2862 if templ_7745c5c3_Err != nil {
2863 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 409, Col: 24}
2864 }
2865 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152))
2866 if templ_7745c5c3_Err != nil {
2867 return templ_7745c5c3_Err
2868 }
2869 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, "</dd></dl><p><a href=\"")
2870 if templ_7745c5c3_Err != nil {
2871 return templ_7745c5c3_Err
2872 }
2873 var templ_7745c5c3_Var153 templ.SafeURL
2874 templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.RawHref))
2875 if templ_7745c5c3_Err != nil {
2876 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 411, Col: 39}
2877 }
2878 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153))
2879 if templ_7745c5c3_Err != nil {
2880 return templ_7745c5c3_Err
2881 }
2882 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, "\">raw log</a></p></section>")
2883 if templ_7745c5c3_Err != nil {
2884 return templ_7745c5c3_Err
2885 }
2886 return nil
2887 })
2888}
2889
2890// CommitChecks is the combined state of the checks of a commit, as a mark
2891// with a count, linking to the page that explains it.
2892func CommitChecks(c ChecksSummary) templ.Component {
2893 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2894 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2895 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
2896 return templ_7745c5c3_CtxErr
2897 }
2898 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2899 if !templ_7745c5c3_IsBuffer {
2900 defer func() {
2901 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2902 if templ_7745c5c3_Err == nil {
2903 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2904 }
2905 }()
2906 }
2907 ctx = templ.InitializeContext(ctx)
2908 templ_7745c5c3_Var154 := templ.GetChildren(ctx)
2909 if templ_7745c5c3_Var154 == nil {
2910 templ_7745c5c3_Var154 = templ.NopComponent
2911 }
2912 ctx = templ.ClearChildren(ctx)
2913 if c.Total > 0 {
2914 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, "<a class=\"ck-sum\" href=\"")
2915 if templ_7745c5c3_Err != nil {
2916 return templ_7745c5c3_Err
2917 }
2918 var templ_7745c5c3_Var155 templ.SafeURL
2919 templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Href))
2920 if templ_7745c5c3_Err != nil {
2921 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 419, Col: 48}
2922 }
2923 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155))
2924 if templ_7745c5c3_Err != nil {
2925 return templ_7745c5c3_Err
2926 }
2927 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, "\" title=\"")
2928 if templ_7745c5c3_Err != nil {
2929 return templ_7745c5c3_Err
2930 }
2931 var templ_7745c5c3_Var156 string
2932 templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Title)
2933 if templ_7745c5c3_Err != nil {
2934 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 419, Col: 66}
2935 }
2936 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var156)
2937 if templ_7745c5c3_Err != nil {
2938 return templ_7745c5c3_Err
2939 }
2940 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, "\">")
2941 if templ_7745c5c3_Err != nil {
2942 return templ_7745c5c3_Err
2943 }
2944 templ_7745c5c3_Err = CheckIcon(c.Kind, c.State).Render(ctx, templ_7745c5c3_Buffer)
2945 if templ_7745c5c3_Err != nil {
2946 return templ_7745c5c3_Err
2947 }
2948 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, "<span class=\"mute\">")
2949 if templ_7745c5c3_Err != nil {
2950 return templ_7745c5c3_Err
2951 }
2952 var templ_7745c5c3_Var157 string
2953 templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.JoinStringErrs(c.Label)
2954 if templ_7745c5c3_Err != nil {
2955 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 421, Col: 31}
2956 }
2957 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var157))
2958 if templ_7745c5c3_Err != nil {
2959 return templ_7745c5c3_Err
2960 }
2961 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, "</span></a>")
2962 if templ_7745c5c3_Err != nil {
2963 return templ_7745c5c3_Err
2964 }
2965 }
2966 return nil
2967 })
2968}
2969
2970// MRChecks is the checks section of the rail of a merge request.
2971func MRChecks(c ChecksSection) templ.Component {
2972 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
2973 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
2974 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
2975 return templ_7745c5c3_CtxErr
2976 }
2977 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
2978 if !templ_7745c5c3_IsBuffer {
2979 defer func() {
2980 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
2981 if templ_7745c5c3_Err == nil {
2982 templ_7745c5c3_Err = templ_7745c5c3_BufErr
2983 }
2984 }()
2985 }
2986 ctx = templ.InitializeContext(ctx)
2987 templ_7745c5c3_Var158 := templ.GetChildren(ctx)
2988 if templ_7745c5c3_Var158 == nil {
2989 templ_7745c5c3_Var158 = templ.NopComponent
2990 }
2991 ctx = templ.ClearChildren(ctx)
2992 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, "<section aria-labelledby=\"r-checks\" id=\"mr-checks\"><h2 id=\"r-checks\">Checks <span class=\"count\">")
2993 if templ_7745c5c3_Err != nil {
2994 return templ_7745c5c3_Err
2995 }
2996 var templ_7745c5c3_Var159 string
2997 templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(c.Rows)))
2998 if templ_7745c5c3_Err != nil {
2999 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 429, Col: 66}
3000 }
3001 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159))
3002 if templ_7745c5c3_Err != nil {
3003 return templ_7745c5c3_Err
3004 }
3005 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "</span></h2>")
3006 if templ_7745c5c3_Err != nil {
3007 return templ_7745c5c3_Err
3008 }
3009 if len(c.Rows) == 0 {
3010 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, "<p class=\"dim\">no checks</p>")
3011 if templ_7745c5c3_Err != nil {
3012 return templ_7745c5c3_Err
3013 }
3014 } else {
3015 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "<ul class=\"checks\">")
3016 if templ_7745c5c3_Err != nil {
3017 return templ_7745c5c3_Err
3018 }
3019 for _, r := range c.Rows {
3020 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "<li>")
3021 if templ_7745c5c3_Err != nil {
3022 return templ_7745c5c3_Err
3023 }
3024 templ_7745c5c3_Err = CheckIcon(r.Kind, r.State).Render(ctx, templ_7745c5c3_Buffer)
3025 if templ_7745c5c3_Err != nil {
3026 return templ_7745c5c3_Err
3027 }
3028 if r.Href != "" {
3029 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "<a href=\"")
3030 if templ_7745c5c3_Err != nil {
3031 return templ_7745c5c3_Err
3032 }
3033 var templ_7745c5c3_Var160 templ.SafeURL
3034 templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
3035 if templ_7745c5c3_Err != nil {
3036 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 438, Col: 38}
3037 }
3038 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160))
3039 if templ_7745c5c3_Err != nil {
3040 return templ_7745c5c3_Err
3041 }
3042 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "\">")
3043 if templ_7745c5c3_Err != nil {
3044 return templ_7745c5c3_Err
3045 }
3046 var templ_7745c5c3_Var161 string
3047 templ_7745c5c3_Var161, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
3048 if templ_7745c5c3_Err != nil {
3049 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 438, Col: 49}
3050 }
3051 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var161))
3052 if templ_7745c5c3_Err != nil {
3053 return templ_7745c5c3_Err
3054 }
3055 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "</a> ")
3056 if templ_7745c5c3_Err != nil {
3057 return templ_7745c5c3_Err
3058 }
3059 } else {
3060 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, "<span>")
3061 if templ_7745c5c3_Err != nil {
3062 return templ_7745c5c3_Err
3063 }
3064 var templ_7745c5c3_Var162 string
3065 templ_7745c5c3_Var162, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name)
3066 if templ_7745c5c3_Err != nil {
3067 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 440, Col: 21}
3068 }
3069 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var162))
3070 if templ_7745c5c3_Err != nil {
3071 return templ_7745c5c3_Err
3072 }
3073 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, "</span> ")
3074 if templ_7745c5c3_Err != nil {
3075 return templ_7745c5c3_Err
3076 }
3077 }
3078 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, "<span class=\"dim\">")
3079 if templ_7745c5c3_Err != nil {
3080 return templ_7745c5c3_Err
3081 }
3082 var templ_7745c5c3_Var163 string
3083 templ_7745c5c3_Var163, templ_7745c5c3_Err = templ.JoinStringErrs(r.State)
3084 if templ_7745c5c3_Err != nil {
3085 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 442, Col: 33}
3086 }
3087 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var163))
3088 if templ_7745c5c3_Err != nil {
3089 return templ_7745c5c3_Err
3090 }
3091 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, "</span> ")
3092 if templ_7745c5c3_Err != nil {
3093 return templ_7745c5c3_Err
3094 }
3095 if r.Waiting {
3096 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "<span class=\"mute\">waiting for a runner</span>")
3097 if templ_7745c5c3_Err != nil {
3098 return templ_7745c5c3_Err
3099 }
3100 }
3101 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "</li>")
3102 if templ_7745c5c3_Err != nil {
3103 return templ_7745c5c3_Err
3104 }
3105 }
3106 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "</ul>")
3107 if templ_7745c5c3_Err != nil {
3108 return templ_7745c5c3_Err
3109 }
3110 }
3111 if c.Note != "" {
3112 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, "<p class=\"mute\">")
3113 if templ_7745c5c3_Err != nil {
3114 return templ_7745c5c3_Err
3115 }
3116 var templ_7745c5c3_Var164 string
3117 templ_7745c5c3_Var164, templ_7745c5c3_Err = templ.JoinStringErrs(c.Note)
3118 if templ_7745c5c3_Err != nil {
3119 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/actions.templ`, Line: 451, Col: 27}
3120 }
3121 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var164))
3122 if templ_7745c5c3_Err != nil {
3123 return templ_7745c5c3_Err
3124 }
3125 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "</p>")
3126 if templ_7745c5c3_Err != nil {
3127 return templ_7745c5c3_Err
3128 }
3129 }
3130 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "</section>")
3131 if templ_7745c5c3_Err != nil {
3132 return templ_7745c5c3_Err
3133 }
3134 return nil
3135 })
3136}
3137
3138var _ = templruntime.GeneratedTemplate