1// Code generated by templ - DO NOT EDIT.
2
3// templ: version: v0.3.1020
4// SPDX-License-Identifier: AGPL-3.0-or-later
5
6package web
7
8//lint:file-ignore SA4006 This context is only used if a nested component is present.
9
10import "github.com/a-h/templ"
11import templruntime "github.com/a-h/templ/runtime"
12
13// The fragments of the live updates (events.go). Each is a top-level element
14// with an id: the page swaps the element that has the same id.
15
16// FactValue is the value of a fact; its id, when it has one, is the target of
17// the live updates ("last push").
18func FactValue(f Fact) templ.Component {
19 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
20 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
21 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
22 return templ_7745c5c3_CtxErr
23 }
24 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
25 if !templ_7745c5c3_IsBuffer {
26 defer func() {
27 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
28 if templ_7745c5c3_Err == nil {
29 templ_7745c5c3_Err = templ_7745c5c3_BufErr
30 }
31 }()
32 }
33 ctx = templ.InitializeContext(ctx)
34 templ_7745c5c3_Var1 := templ.GetChildren(ctx)
35 if templ_7745c5c3_Var1 == nil {
36 templ_7745c5c3_Var1 = templ.NopComponent
37 }
38 ctx = templ.ClearChildren(ctx)
39 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<dd")
40 if templ_7745c5c3_Err != nil {
41 return templ_7745c5c3_Err
42 }
43 if f.ID != "" {
44 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, " id=\"")
45 if templ_7745c5c3_Err != nil {
46 return templ_7745c5c3_Err
47 }
48 var templ_7745c5c3_Var2 string
49 templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID)
50 if templ_7745c5c3_Err != nil {
51 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 13, Col: 12}
52 }
53 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var2)
54 if templ_7745c5c3_Err != nil {
55 return templ_7745c5c3_Err
56 }
57 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "\"")
58 if templ_7745c5c3_Err != nil {
59 return templ_7745c5c3_Err
60 }
61 }
62 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, ">")
63 if templ_7745c5c3_Err != nil {
64 return templ_7745c5c3_Err
65 }
66 if f.Time != "" {
67 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<time datetime=\"")
68 if templ_7745c5c3_Err != nil {
69 return templ_7745c5c3_Err
70 }
71 var templ_7745c5c3_Var3 string
72 templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Time)
73 if templ_7745c5c3_Err != nil {
74 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 17, Col: 26}
75 }
76 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var3)
77 if templ_7745c5c3_Err != nil {
78 return templ_7745c5c3_Err
79 }
80 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "\">")
81 if templ_7745c5c3_Err != nil {
82 return templ_7745c5c3_Err
83 }
84 var templ_7745c5c3_Var4 string
85 templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(f.Val)
86 if templ_7745c5c3_Err != nil {
87 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 17, Col: 36}
88 }
89 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
90 if templ_7745c5c3_Err != nil {
91 return templ_7745c5c3_Err
92 }
93 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "</time>")
94 if templ_7745c5c3_Err != nil {
95 return templ_7745c5c3_Err
96 }
97 } else {
98 var templ_7745c5c3_Var5 string
99 templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(f.Val)
100 if templ_7745c5c3_Err != nil {
101 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 19, Col: 10}
102 }
103 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
104 if templ_7745c5c3_Err != nil {
105 return templ_7745c5c3_Err
106 }
107 }
108 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "</dd>")
109 if templ_7745c5c3_Err != nil {
110 return templ_7745c5c3_Err
111 }
112 return nil
113 })
114}
115
116// RepoGone replaces the row of a repository that is deleted or not visible
117// any more; the page removes the element.
118func RepoGone(id string) templ.Component {
119 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
120 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
121 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
122 return templ_7745c5c3_CtxErr
123 }
124 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
125 if !templ_7745c5c3_IsBuffer {
126 defer func() {
127 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
128 if templ_7745c5c3_Err == nil {
129 templ_7745c5c3_Err = templ_7745c5c3_BufErr
130 }
131 }()
132 }
133 ctx = templ.InitializeContext(ctx)
134 templ_7745c5c3_Var6 := templ.GetChildren(ctx)
135 if templ_7745c5c3_Var6 == nil {
136 templ_7745c5c3_Var6 = templ.NopComponent
137 }
138 ctx = templ.ClearChildren(ctx)
139 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "<tr id=\"")
140 if templ_7745c5c3_Err != nil {
141 return templ_7745c5c3_Err
142 }
143 var templ_7745c5c3_Var7 string
144 templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.ResolveAttributeValue(id)
145 if templ_7745c5c3_Err != nil {
146 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 27, Col: 12}
147 }
148 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var7)
149 if templ_7745c5c3_Err != nil {
150 return templ_7745c5c3_Err
151 }
152 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "\" data-gone hidden></tr>")
153 if templ_7745c5c3_Err != nil {
154 return templ_7745c5c3_Err
155 }
156 return nil
157 })
158}
159
160// RefsBody is the rows of the refs table.
161func RefsBody(p RefsPage) templ.Component {
162 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
163 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
164 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
165 return templ_7745c5c3_CtxErr
166 }
167 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
168 if !templ_7745c5c3_IsBuffer {
169 defer func() {
170 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
171 if templ_7745c5c3_Err == nil {
172 templ_7745c5c3_Err = templ_7745c5c3_BufErr
173 }
174 }()
175 }
176 ctx = templ.InitializeContext(ctx)
177 templ_7745c5c3_Var8 := templ.GetChildren(ctx)
178 if templ_7745c5c3_Var8 == nil {
179 templ_7745c5c3_Var8 = templ.NopComponent
180 }
181 ctx = templ.ClearChildren(ctx)
182 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "<tbody id=\"ref-rows\" data-rows>")
183 if templ_7745c5c3_Err != nil {
184 return templ_7745c5c3_Err
185 }
186 for _, b := range p.Branches {
187 templ_7745c5c3_Err = refRow("branch", b).Render(ctx, templ_7745c5c3_Buffer)
188 if templ_7745c5c3_Err != nil {
189 return templ_7745c5c3_Err
190 }
191 }
192 for _, t := range p.Tags {
193 templ_7745c5c3_Err = refRow("tag", t).Render(ctx, templ_7745c5c3_Buffer)
194 if templ_7745c5c3_Err != nil {
195 return templ_7745c5c3_Err
196 }
197 }
198 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</tbody>")
199 if templ_7745c5c3_Err != nil {
200 return templ_7745c5c3_Err
201 }
202 return nil
203 })
204}
205
206// RefsKV is the facts of the rail of the refs page.
207func RefsKV(p RefsPage) templ.Component {
208 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
209 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
210 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
211 return templ_7745c5c3_CtxErr
212 }
213 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
214 if !templ_7745c5c3_IsBuffer {
215 defer func() {
216 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
217 if templ_7745c5c3_Err == nil {
218 templ_7745c5c3_Err = templ_7745c5c3_BufErr
219 }
220 }()
221 }
222 ctx = templ.InitializeContext(ctx)
223 templ_7745c5c3_Var9 := templ.GetChildren(ctx)
224 if templ_7745c5c3_Var9 == nil {
225 templ_7745c5c3_Var9 = templ.NopComponent
226 }
227 ctx = templ.ClearChildren(ctx)
228 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<dl class=\"kv\" id=\"refs-kv\"><dt>default</dt><dd>")
229 if templ_7745c5c3_Err != nil {
230 return templ_7745c5c3_Err
231 }
232 var templ_7745c5c3_Var10 string
233 templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(p.Default)
234 if templ_7745c5c3_Err != nil {
235 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 46, Col: 17}
236 }
237 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
238 if templ_7745c5c3_Err != nil {
239 return templ_7745c5c3_Err
240 }
241 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</dd><dt>branches</dt><dd>")
242 if templ_7745c5c3_Err != nil {
243 return templ_7745c5c3_Err
244 }
245 var templ_7745c5c3_Var11 string
246 templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Branches)))
247 if templ_7745c5c3_Err != nil {
248 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 48, Col: 29}
249 }
250 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
251 if templ_7745c5c3_Err != nil {
252 return templ_7745c5c3_Err
253 }
254 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</dd><dt>tags</dt><dd>")
255 if templ_7745c5c3_Err != nil {
256 return templ_7745c5c3_Err
257 }
258 var templ_7745c5c3_Var12 string
259 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Tags)))
260 if templ_7745c5c3_Err != nil {
261 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 50, Col: 25}
262 }
263 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
264 if templ_7745c5c3_Err != nil {
265 return templ_7745c5c3_Err
266 }
267 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</dd>")
268 if templ_7745c5c3_Err != nil {
269 return templ_7745c5c3_Err
270 }
271 if p.Latest != "" {
272 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<dt>latest tag</dt><dd>")
273 if templ_7745c5c3_Err != nil {
274 return templ_7745c5c3_Err
275 }
276 var templ_7745c5c3_Var13 string
277 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(p.Latest)
278 if templ_7745c5c3_Err != nil {
279 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 53, Col: 17}
280 }
281 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
282 if templ_7745c5c3_Err != nil {
283 return templ_7745c5c3_Err
284 }
285 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</dd>")
286 if templ_7745c5c3_Err != nil {
287 return templ_7745c5c3_Err
288 }
289 }
290 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</dl>")
291 if templ_7745c5c3_Err != nil {
292 return templ_7745c5c3_Err
293 }
294 return nil
295 })
296}
297
298// CommitsSlot is the place of the banner of the commits page, empty.
299func CommitsSlot() templ.Component {
300 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
301 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
302 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
303 return templ_7745c5c3_CtxErr
304 }
305 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
306 if !templ_7745c5c3_IsBuffer {
307 defer func() {
308 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
309 if templ_7745c5c3_Err == nil {
310 templ_7745c5c3_Err = templ_7745c5c3_BufErr
311 }
312 }()
313 }
314 ctx = templ.InitializeContext(ctx)
315 templ_7745c5c3_Var14 := templ.GetChildren(ctx)
316 if templ_7745c5c3_Var14 == nil {
317 templ_7745c5c3_Var14 = templ.NopComponent
318 }
319 ctx = templ.ClearChildren(ctx)
320 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "<div id=\"commits-head\"></div>")
321 if templ_7745c5c3_Err != nil {
322 return templ_7745c5c3_Err
323 }
324 return nil
325 })
326}
327
328// CommitsBanner announces new commits on the branch the page lists. It links
329// to the first page of the branch.
330func CommitsBanner(text, href string) templ.Component {
331 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
332 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
333 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
334 return templ_7745c5c3_CtxErr
335 }
336 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
337 if !templ_7745c5c3_IsBuffer {
338 defer func() {
339 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
340 if templ_7745c5c3_Err == nil {
341 templ_7745c5c3_Err = templ_7745c5c3_BufErr
342 }
343 }()
344 }
345 ctx = templ.InitializeContext(ctx)
346 templ_7745c5c3_Var15 := templ.GetChildren(ctx)
347 if templ_7745c5c3_Var15 == nil {
348 templ_7745c5c3_Var15 = templ.NopComponent
349 }
350 ctx = templ.ClearChildren(ctx)
351 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<div id=\"commits-head\" class=\"live-banner\" role=\"status\"><a href=\"")
352 if templ_7745c5c3_Err != nil {
353 return templ_7745c5c3_Err
354 }
355 var templ_7745c5c3_Var16 templ.SafeURL
356 templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href))
357 if templ_7745c5c3_Err != nil {
358 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 67, Col: 31}
359 }
360 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
361 if templ_7745c5c3_Err != nil {
362 return templ_7745c5c3_Err
363 }
364 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\">")
365 if templ_7745c5c3_Err != nil {
366 return templ_7745c5c3_Err
367 }
368 var templ_7745c5c3_Var17 string
369 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(text)
370 if templ_7745c5c3_Err != nil {
371 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 67, Col: 40}
372 }
373 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
374 if templ_7745c5c3_Err != nil {
375 return templ_7745c5c3_Err
376 }
377 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</a></div>")
378 if templ_7745c5c3_Err != nil {
379 return templ_7745c5c3_Err
380 }
381 return nil
382 })
383}
384
385// MRNotice tells a merge request page that it is out of date. The empty slot
386// of the page has the same id, so the first notice replaces it.
387func MRNotice(text, href string) templ.Component {
388 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
389 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
390 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
391 return templ_7745c5c3_CtxErr
392 }
393 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
394 if !templ_7745c5c3_IsBuffer {
395 defer func() {
396 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
397 if templ_7745c5c3_Err == nil {
398 templ_7745c5c3_Err = templ_7745c5c3_BufErr
399 }
400 }()
401 }
402 ctx = templ.InitializeContext(ctx)
403 templ_7745c5c3_Var18 := templ.GetChildren(ctx)
404 if templ_7745c5c3_Var18 == nil {
405 templ_7745c5c3_Var18 = templ.NopComponent
406 }
407 ctx = templ.ClearChildren(ctx)
408 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "<div id=\"mr-notice\" class=\"live-banner\" role=\"status\"><a href=\"")
409 if templ_7745c5c3_Err != nil {
410 return templ_7745c5c3_Err
411 }
412 var templ_7745c5c3_Var19 templ.SafeURL
413 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href))
414 if templ_7745c5c3_Err != nil {
415 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 75, Col: 31}
416 }
417 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
418 if templ_7745c5c3_Err != nil {
419 return templ_7745c5c3_Err
420 }
421 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "\">")
422 if templ_7745c5c3_Err != nil {
423 return templ_7745c5c3_Err
424 }
425 var templ_7745c5c3_Var20 string
426 templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(text)
427 if templ_7745c5c3_Err != nil {
428 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 75, Col: 40}
429 }
430 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
431 if templ_7745c5c3_Err != nil {
432 return templ_7745c5c3_Err
433 }
434 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</a></div>")
435 if templ_7745c5c3_Err != nil {
436 return templ_7745c5c3_Err
437 }
438 return nil
439 })
440}
441
442// Live is the connection to the event stream, in the hint badge. It shows
443// only once a connection was lost: a page that never connected, or that is
444// live, says nothing. The events of the stream are fragments that ermiteLive
445// (ermite.js) swaps in the page. A page without a stream renders nothing.
446func Live(l Layout) templ.Component {
447 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
448 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
449 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
450 return templ_7745c5c3_CtxErr
451 }
452 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
453 if !templ_7745c5c3_IsBuffer {
454 defer func() {
455 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
456 if templ_7745c5c3_Err == nil {
457 templ_7745c5c3_Err = templ_7745c5c3_BufErr
458 }
459 }()
460 }
461 ctx = templ.InitializeContext(ctx)
462 templ_7745c5c3_Var21 := templ.GetChildren(ctx)
463 if templ_7745c5c3_Var21 == nil {
464 templ_7745c5c3_Var21 = templ.NopComponent
465 }
466 ctx = templ.ClearChildren(ctx)
467 if l.Live && l.LiveURL != "" {
468 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<span class=\"hint-live\" data-state=\"connecting\" hx-sse:connect=\"")
469 if templ_7745c5c3_Err != nil {
470 return templ_7745c5c3_Err
471 }
472 var templ_7745c5c3_Var22 string
473 templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.ResolveAttributeValue(l.LiveURL)
474 if templ_7745c5c3_Err != nil {
475 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/fragments.templ`, Line: 88, Col: 29}
476 }
477 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var22)
478 if templ_7745c5c3_Err != nil {
479 return templ_7745c5c3_Err
480 }
481 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\" hx-swap=\"none\" :text=\"data.state === 'offline' ? 'live updates paused' : ''\" hx-on=\"htmx:sse:after:connection -> data.state = 'live';\n htmx:sse:close, htmx:sse:error -> data.state = 'offline';\n home-list, repo-last-push, refs-list, commits-head, mr-notice -> ermiteLive.swap(event.detail.data);\n gap -> ermiteLive.reload()\"></span>")
482 if templ_7745c5c3_Err != nil {
483 return templ_7745c5c3_Err
484 }
485 }
486 return nil
487 })
488}
489
490var _ = templruntime.GeneratedTemplate