v0.5.0 bfab294

fragments_templ.go RawHistoryFolder

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

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 45

↑↓ moveenter openesc close