v0.35.0 e86dbd6

inbox_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// Inbox is the owner's inbox: what is open across every repository. The
14// counters, the filter and the lists are fragments with an id that the live
15// stream replaces as a whole (ermiteLive.swap).
16func Inbox(l Layout, p InboxPage) templ.Component {
17	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
18		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
19		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
20			return templ_7745c5c3_CtxErr
21		}
22		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
23		if !templ_7745c5c3_IsBuffer {
24			defer func() {
25				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
26				if templ_7745c5c3_Err == nil {
27					templ_7745c5c3_Err = templ_7745c5c3_BufErr
28				}
29			}()
30		}
31		ctx = templ.InitializeContext(ctx)
32		templ_7745c5c3_Var1 := templ.GetChildren(ctx)
33		if templ_7745c5c3_Var1 == nil {
34			templ_7745c5c3_Var1 = templ.NopComponent
35		}
36		ctx = templ.ClearChildren(ctx)
37		templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
38			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
39			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
40			if !templ_7745c5c3_IsBuffer {
41				defer func() {
42					templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
43					if templ_7745c5c3_Err == nil {
44						templ_7745c5c3_Err = templ_7745c5c3_BufErr
45					}
46				}()
47			}
48			ctx = templ.InitializeContext(ctx)
49			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<h1 class=\"sr\">Inbox</h1><div class=\"inbox\">")
50			if templ_7745c5c3_Err != nil {
51				return templ_7745c5c3_Err
52			}
53			templ_7745c5c3_Err = InboxCounters(p).Render(ctx, templ_7745c5c3_Buffer)
54			if templ_7745c5c3_Err != nil {
55				return templ_7745c5c3_Err
56			}
57			templ_7745c5c3_Err = InboxRepos(p).Render(ctx, templ_7745c5c3_Buffer)
58			if templ_7745c5c3_Err != nil {
59				return templ_7745c5c3_Err
60			}
61			templ_7745c5c3_Err = InboxPending(p).Render(ctx, templ_7745c5c3_Buffer)
62			if templ_7745c5c3_Err != nil {
63				return templ_7745c5c3_Err
64			}
65			templ_7745c5c3_Err = InboxRuns(p).Render(ctx, templ_7745c5c3_Buffer)
66			if templ_7745c5c3_Err != nil {
67				return templ_7745c5c3_Err
68			}
69			templ_7745c5c3_Err = InboxMRs(p).Render(ctx, templ_7745c5c3_Buffer)
70			if templ_7745c5c3_Err != nil {
71				return templ_7745c5c3_Err
72			}
73			templ_7745c5c3_Err = InboxIssues(p).Render(ctx, templ_7745c5c3_Buffer)
74			if templ_7745c5c3_Err != nil {
75				return templ_7745c5c3_Err
76			}
77			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</div>")
78			if templ_7745c5c3_Err != nil {
79				return templ_7745c5c3_Err
80			}
81			return nil
82		})
83		templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
84		if templ_7745c5c3_Err != nil {
85			return templ_7745c5c3_Err
86		}
87		return nil
88	})
89}
90
91func InboxCounters(p InboxPage) templ.Component {
92	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
93		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
94		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
95			return templ_7745c5c3_CtxErr
96		}
97		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
98		if !templ_7745c5c3_IsBuffer {
99			defer func() {
100				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
101				if templ_7745c5c3_Err == nil {
102					templ_7745c5c3_Err = templ_7745c5c3_BufErr
103				}
104			}()
105		}
106		ctx = templ.InitializeContext(ctx)
107		templ_7745c5c3_Var3 := templ.GetChildren(ctx)
108		if templ_7745c5c3_Var3 == nil {
109			templ_7745c5c3_Var3 = templ.NopComponent
110		}
111		ctx = templ.ClearChildren(ctx)
112		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<p id=\"inbox-counts\" class=\"inbox-counts\"><strong>")
113		if templ_7745c5c3_Err != nil {
114			return templ_7745c5c3_Err
115		}
116		var templ_7745c5c3_Var4 string
117		templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.MergeRequests))
118		if templ_7745c5c3_Err != nil {
119			return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 24, Col: 33}
120		}
121		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
122		if templ_7745c5c3_Err != nil {
123			return templ_7745c5c3_Err
124		}
125		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "</strong> merge requests · <strong>")
126		if templ_7745c5c3_Err != nil {
127			return templ_7745c5c3_Err
128		}
129		var templ_7745c5c3_Var5 string
130		templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Issues))
131		if templ_7745c5c3_Err != nil {
132			return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 24, Col: 87}
133		}
134		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
135		if templ_7745c5c3_Err != nil {
136			return templ_7745c5c3_Err
137		}
138		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "</strong> issues · <strong>")
139		if templ_7745c5c3_Err != nil {
140			return templ_7745c5c3_Err
141		}
142		var templ_7745c5c3_Var6 string
143		templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.PendingCount))
144		if templ_7745c5c3_Err != nil {
145			return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 24, Col: 139}
146		}
147		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
148		if templ_7745c5c3_Err != nil {
149			return templ_7745c5c3_Err
150		}
151		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "</strong> awaiting moderation · <strong>")
152		if templ_7745c5c3_Err != nil {
153			return templ_7745c5c3_Err
154		}
155		var templ_7745c5c3_Var7 string
156		templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Running))
157		if templ_7745c5c3_Err != nil {
158			return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 24, Col: 199}
159		}
160		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
161		if templ_7745c5c3_Err != nil {
162			return templ_7745c5c3_Err
163		}
164		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "</strong> running</p>")
165		if templ_7745c5c3_Err != nil {
166			return templ_7745c5c3_Err
167		}
168		return nil
169	})
170}
171
172func InboxRepos(p InboxPage) templ.Component {
173	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
174		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
175		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
176			return templ_7745c5c3_CtxErr
177		}
178		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
179		if !templ_7745c5c3_IsBuffer {
180			defer func() {
181				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
182				if templ_7745c5c3_Err == nil {
183					templ_7745c5c3_Err = templ_7745c5c3_BufErr
184				}
185			}()
186		}
187		ctx = templ.InitializeContext(ctx)
188		templ_7745c5c3_Var8 := templ.GetChildren(ctx)
189		if templ_7745c5c3_Var8 == nil {
190			templ_7745c5c3_Var8 = templ.NopComponent
191		}
192		ctx = templ.ClearChildren(ctx)
193		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<nav id=\"inbox-repos\" class=\"since\" aria-label=\"Repository\">")
194		if templ_7745c5c3_Err != nil {
195			return templ_7745c5c3_Err
196		}
197		for _, r := range p.Repos {
198			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "<a href=\"")
199			if templ_7745c5c3_Err != nil {
200				return templ_7745c5c3_Err
201			}
202			var templ_7745c5c3_Var9 templ.SafeURL
203			templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
204			if templ_7745c5c3_Err != nil {
205				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 32, Col: 32}
206			}
207			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
208			if templ_7745c5c3_Err != nil {
209				return templ_7745c5c3_Err
210			}
211			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "\"")
212			if templ_7745c5c3_Err != nil {
213				return templ_7745c5c3_Err
214			}
215			if r.Current {
216				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, " aria-current=\"page\"")
217				if templ_7745c5c3_Err != nil {
218					return templ_7745c5c3_Err
219				}
220			}
221			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, ">")
222			if templ_7745c5c3_Err != nil {
223				return templ_7745c5c3_Err
224			}
225			var templ_7745c5c3_Var10 string
226			templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(r.Label)
227			if templ_7745c5c3_Err != nil {
228				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 36, Col: 13}
229			}
230			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
231			if templ_7745c5c3_Err != nil {
232				return templ_7745c5c3_Err
233			}
234			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</a>")
235			if templ_7745c5c3_Err != nil {
236				return templ_7745c5c3_Err
237			}
238		}
239		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</nav>")
240		if templ_7745c5c3_Err != nil {
241			return templ_7745c5c3_Err
242		}
243		return nil
244	})
245}
246
247// InboxPending is the issues awaiting moderation, first on the page. Their
248// texts come from anonymous visitors: they are shown as plain text, escaped,
249// never as Markdown.
250func InboxPending(p InboxPage) templ.Component {
251	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
252		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
253		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
254			return templ_7745c5c3_CtxErr
255		}
256		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
257		if !templ_7745c5c3_IsBuffer {
258			defer func() {
259				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
260				if templ_7745c5c3_Err == nil {
261					templ_7745c5c3_Err = templ_7745c5c3_BufErr
262				}
263			}()
264		}
265		ctx = templ.InitializeContext(ctx)
266		templ_7745c5c3_Var11 := templ.GetChildren(ctx)
267		if templ_7745c5c3_Var11 == nil {
268			templ_7745c5c3_Var11 = templ.NopComponent
269		}
270		ctx = templ.ClearChildren(ctx)
271		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<section id=\"inbox-pending\" aria-labelledby=\"inbox-pending-h\"><h2 id=\"inbox-pending-h\" class=\"rule-h\"><span>Awaiting moderation</span><span class=\"count\">")
272		if templ_7745c5c3_Err != nil {
273			return templ_7745c5c3_Err
274		}
275		var templ_7745c5c3_Var12 string
276		templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.PendingCount))
277		if templ_7745c5c3_Err != nil {
278			return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 46, Col: 116}
279		}
280		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
281		if templ_7745c5c3_Err != nil {
282			return templ_7745c5c3_Err
283		}
284		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</span></h2>")
285		if templ_7745c5c3_Err != nil {
286			return templ_7745c5c3_Err
287		}
288		if len(p.Pending) > 0 {
289			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<ul class=\"pending-list\">")
290			if templ_7745c5c3_Err != nil {
291				return templ_7745c5c3_Err
292			}
293			for _, m := range p.Pending {
294				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<li class=\"pending\"><div class=\"p-head\"><a href=\"")
295				if templ_7745c5c3_Err != nil {
296					return templ_7745c5c3_Err
297				}
298				var templ_7745c5c3_Var13 templ.SafeURL
299				templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.RepoHref))
300				if templ_7745c5c3_Err != nil {
301					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 52, Col: 42}
302				}
303				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
304				if templ_7745c5c3_Err != nil {
305					return templ_7745c5c3_Err
306				}
307				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "\">")
308				if templ_7745c5c3_Err != nil {
309					return templ_7745c5c3_Err
310				}
311				var templ_7745c5c3_Var14 string
312				templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(m.Repo)
313				if templ_7745c5c3_Err != nil {
314					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 52, Col: 53}
315				}
316				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
317				if templ_7745c5c3_Err != nil {
318					return templ_7745c5c3_Err
319				}
320				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</a> <span>")
321				if templ_7745c5c3_Err != nil {
322					return templ_7745c5c3_Err
323				}
324				var templ_7745c5c3_Var15 string
325				templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(m.Author)
326				if templ_7745c5c3_Err != nil {
327					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 53, Col: 23}
328				}
329				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
330				if templ_7745c5c3_Err != nil {
331					return templ_7745c5c3_Err
332				}
333				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</span> ")
334				if templ_7745c5c3_Err != nil {
335					return templ_7745c5c3_Err
336				}
337				if m.WhenAt != "" {
338					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "<time datetime=\"")
339					if templ_7745c5c3_Err != nil {
340						return templ_7745c5c3_Err
341					}
342					var templ_7745c5c3_Var16 string
343					templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
344					if templ_7745c5c3_Err != nil {
345						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 55, Col: 33}
346					}
347					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16)
348					if templ_7745c5c3_Err != nil {
349						return templ_7745c5c3_Err
350					}
351					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "\" title=\"")
352					if templ_7745c5c3_Err != nil {
353						return templ_7745c5c3_Err
354					}
355					var templ_7745c5c3_Var17 string
356					templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
357					if templ_7745c5c3_Err != nil {
358						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 55, Col: 52}
359					}
360					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17)
361					if templ_7745c5c3_Err != nil {
362						return templ_7745c5c3_Err
363					}
364					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "\">")
365					if templ_7745c5c3_Err != nil {
366						return templ_7745c5c3_Err
367					}
368					var templ_7745c5c3_Var18 string
369					templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(m.When)
370					if templ_7745c5c3_Err != nil {
371						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 55, Col: 63}
372					}
373					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
374					if templ_7745c5c3_Err != nil {
375						return templ_7745c5c3_Err
376					}
377					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "</time>")
378					if templ_7745c5c3_Err != nil {
379						return templ_7745c5c3_Err
380					}
381				}
382				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</div><p class=\"p-title\">")
383				if templ_7745c5c3_Err != nil {
384					return templ_7745c5c3_Err
385				}
386				var templ_7745c5c3_Var19 string
387				templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(m.Title)
388				if templ_7745c5c3_Err != nil {
389					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 58, Col: 34}
390				}
391				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
392				if templ_7745c5c3_Err != nil {
393					return templ_7745c5c3_Err
394				}
395				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</p>")
396				if templ_7745c5c3_Err != nil {
397					return templ_7745c5c3_Err
398				}
399				if m.Preview != "" {
400					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<p class=\"p-body\">")
401					if templ_7745c5c3_Err != nil {
402						return templ_7745c5c3_Err
403					}
404					var templ_7745c5c3_Var20 string
405					templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(m.Preview)
406					if templ_7745c5c3_Err != nil {
407						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 60, Col: 36}
408					}
409					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
410					if templ_7745c5c3_Err != nil {
411						return templ_7745c5c3_Err
412					}
413					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</p>")
414					if templ_7745c5c3_Err != nil {
415						return templ_7745c5c3_Err
416					}
417				}
418				if m.Approve != "" {
419					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "<div class=\"p-btns\"><form method=\"post\" action=\"")
420					if templ_7745c5c3_Err != nil {
421						return templ_7745c5c3_Err
422					}
423					var templ_7745c5c3_Var21 templ.SafeURL
424					templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Approve))
425					if templ_7745c5c3_Err != nil {
426						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 64, Col: 61}
427					}
428					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
429					if templ_7745c5c3_Err != nil {
430						return templ_7745c5c3_Err
431					}
432					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\"><button type=\"submit\" class=\"btn primary\">Approve</button></form><form method=\"post\" action=\"")
433					if templ_7745c5c3_Err != nil {
434						return templ_7745c5c3_Err
435					}
436					var templ_7745c5c3_Var22 templ.SafeURL
437					templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Reject))
438					if templ_7745c5c3_Err != nil {
439						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 65, Col: 60}
440					}
441					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
442					if templ_7745c5c3_Err != nil {
443						return templ_7745c5c3_Err
444					}
445					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\"><button type=\"submit\" class=\"btn\">Reject</button></form><form method=\"post\" action=\"")
446					if templ_7745c5c3_Err != nil {
447						return templ_7745c5c3_Err
448					}
449					var templ_7745c5c3_Var23 templ.SafeURL
450					templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Ban))
451					if templ_7745c5c3_Err != nil {
452						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 66, Col: 57}
453					}
454					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
455					if templ_7745c5c3_Err != nil {
456						return templ_7745c5c3_Err
457					}
458					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\"><button type=\"submit\" class=\"btn danger\">Reject and ban</button></form></div>")
459					if templ_7745c5c3_Err != nil {
460						return templ_7745c5c3_Err
461					}
462				}
463				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</li>")
464				if templ_7745c5c3_Err != nil {
465					return templ_7745c5c3_Err
466				}
467			}
468			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</ul>")
469			if templ_7745c5c3_Err != nil {
470				return templ_7745c5c3_Err
471			}
472		} else {
473			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<p class=\"lede dim\">nothing awaits moderation.</p>")
474			if templ_7745c5c3_Err != nil {
475				return templ_7745c5c3_Err
476			}
477		}
478		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</section>")
479		if templ_7745c5c3_Err != nil {
480			return templ_7745c5c3_Err
481		}
482		return nil
483	})
484}
485
486func InboxMRs(p InboxPage) templ.Component {
487	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
488		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
489		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
490			return templ_7745c5c3_CtxErr
491		}
492		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
493		if !templ_7745c5c3_IsBuffer {
494			defer func() {
495				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
496				if templ_7745c5c3_Err == nil {
497					templ_7745c5c3_Err = templ_7745c5c3_BufErr
498				}
499			}()
500		}
501		ctx = templ.InitializeContext(ctx)
502		templ_7745c5c3_Var24 := templ.GetChildren(ctx)
503		if templ_7745c5c3_Var24 == nil {
504			templ_7745c5c3_Var24 = templ.NopComponent
505		}
506		ctx = templ.ClearChildren(ctx)
507		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<section id=\"inbox-mrs\" aria-labelledby=\"inbox-mrs-h\"><h2 id=\"inbox-mrs-h\" class=\"rule-h\"><span>Open merge requests</span><span class=\"count\">")
508		if templ_7745c5c3_Err != nil {
509			return templ_7745c5c3_Err
510		}
511		var templ_7745c5c3_Var25 string
512		templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.MRs)))
513		if templ_7745c5c3_Err != nil {
514			return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 80, Col: 108}
515		}
516		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25))
517		if templ_7745c5c3_Err != nil {
518			return templ_7745c5c3_Err
519		}
520		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "</span></h2>")
521		if templ_7745c5c3_Err != nil {
522			return templ_7745c5c3_Err
523		}
524		templ_7745c5c3_Err = inboxRows(p.MRs, "Open merge requests").Render(ctx, templ_7745c5c3_Buffer)
525		if templ_7745c5c3_Err != nil {
526			return templ_7745c5c3_Err
527		}
528		if len(p.MRs) == 0 {
529			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<p class=\"lede dim\">no open merge requests.</p>")
530			if templ_7745c5c3_Err != nil {
531				return templ_7745c5c3_Err
532			}
533		}
534		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "</section>")
535		if templ_7745c5c3_Err != nil {
536			return templ_7745c5c3_Err
537		}
538		return nil
539	})
540}
541
542func InboxIssues(p InboxPage) templ.Component {
543	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
544		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
545		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
546			return templ_7745c5c3_CtxErr
547		}
548		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
549		if !templ_7745c5c3_IsBuffer {
550			defer func() {
551				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
552				if templ_7745c5c3_Err == nil {
553					templ_7745c5c3_Err = templ_7745c5c3_BufErr
554				}
555			}()
556		}
557		ctx = templ.InitializeContext(ctx)
558		templ_7745c5c3_Var26 := templ.GetChildren(ctx)
559		if templ_7745c5c3_Var26 == nil {
560			templ_7745c5c3_Var26 = templ.NopComponent
561		}
562		ctx = templ.ClearChildren(ctx)
563		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "<section id=\"inbox-issues\" aria-labelledby=\"inbox-issues-h\"><h2 id=\"inbox-issues-h\" class=\"rule-h\"><span>Open issues</span><span class=\"count\">")
564		if templ_7745c5c3_Err != nil {
565			return templ_7745c5c3_Err
566		}
567		var templ_7745c5c3_Var27 string
568		templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.IssueRows)))
569		if templ_7745c5c3_Err != nil {
570			return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 90, Col: 109}
571		}
572		_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
573		if templ_7745c5c3_Err != nil {
574			return templ_7745c5c3_Err
575		}
576		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</span></h2>")
577		if templ_7745c5c3_Err != nil {
578			return templ_7745c5c3_Err
579		}
580		templ_7745c5c3_Err = inboxRows(p.IssueRows, "Open issues").Render(ctx, templ_7745c5c3_Buffer)
581		if templ_7745c5c3_Err != nil {
582			return templ_7745c5c3_Err
583		}
584		if len(p.IssueRows) == 0 {
585			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "<p class=\"lede dim\">no open issues.</p>")
586			if templ_7745c5c3_Err != nil {
587				return templ_7745c5c3_Err
588			}
589		}
590		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</section>")
591		if templ_7745c5c3_Err != nil {
592			return templ_7745c5c3_Err
593		}
594		return nil
595	})
596}
597
598func inboxRows(rows []InboxRow, label string) templ.Component {
599	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
600		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
601		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
602			return templ_7745c5c3_CtxErr
603		}
604		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
605		if !templ_7745c5c3_IsBuffer {
606			defer func() {
607				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
608				if templ_7745c5c3_Err == nil {
609					templ_7745c5c3_Err = templ_7745c5c3_BufErr
610				}
611			}()
612		}
613		ctx = templ.InitializeContext(ctx)
614		templ_7745c5c3_Var28 := templ.GetChildren(ctx)
615		if templ_7745c5c3_Var28 == nil {
616			templ_7745c5c3_Var28 = templ.NopComponent
617		}
618		ctx = templ.ClearChildren(ctx)
619		if len(rows) > 0 {
620			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "<table class=\"list mrs\" aria-label=\"")
621			if templ_7745c5c3_Err != nil {
622				return templ_7745c5c3_Err
623			}
624			var templ_7745c5c3_Var29 string
625			templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.ResolveAttributeValue(label)
626			if templ_7745c5c3_Err != nil {
627				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 100, Col: 44}
628			}
629			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var29)
630			if templ_7745c5c3_Err != nil {
631				return templ_7745c5c3_Err
632			}
633			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "\"><tbody data-rows>")
634			if templ_7745c5c3_Err != nil {
635				return templ_7745c5c3_Err
636			}
637			for _, m := range rows {
638				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "<tr")
639				if templ_7745c5c3_Err != nil {
640					return templ_7745c5c3_Err
641				}
642				if m.Cursor {
643					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, " data-cursor")
644					if templ_7745c5c3_Err != nil {
645						return templ_7745c5c3_Err
646					}
647				}
648				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, " data-state=\"open\"><td class=\"c-n mute\">")
649				if templ_7745c5c3_Err != nil {
650					return templ_7745c5c3_Err
651				}
652				var templ_7745c5c3_Var30 string
653				templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(m.Number)
654				if templ_7745c5c3_Err != nil {
655					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 104, Col: 37}
656				}
657				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
658				if templ_7745c5c3_Err != nil {
659					return templ_7745c5c3_Err
660				}
661				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</td><td class=\"c-subject\"><a href=\"")
662				if templ_7745c5c3_Err != nil {
663					return templ_7745c5c3_Err
664				}
665				var templ_7745c5c3_Var31 templ.SafeURL
666				templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Href))
667				if templ_7745c5c3_Err != nil {
668					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 105, Col: 59}
669				}
670				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31))
671				if templ_7745c5c3_Err != nil {
672					return templ_7745c5c3_Err
673				}
674				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "\">")
675				if templ_7745c5c3_Err != nil {
676					return templ_7745c5c3_Err
677				}
678				var templ_7745c5c3_Var32 string
679				templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(m.Title)
680				if templ_7745c5c3_Err != nil {
681					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 105, Col: 71}
682				}
683				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
684				if templ_7745c5c3_Err != nil {
685					return templ_7745c5c3_Err
686				}
687				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "</a> <a class=\"mute\" href=\"")
688				if templ_7745c5c3_Err != nil {
689					return templ_7745c5c3_Err
690				}
691				var templ_7745c5c3_Var33 templ.SafeURL
692				templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.RepoHref))
693				if templ_7745c5c3_Err != nil {
694					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 105, Col: 126}
695				}
696				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33))
697				if templ_7745c5c3_Err != nil {
698					return templ_7745c5c3_Err
699				}
700				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "\">")
701				if templ_7745c5c3_Err != nil {
702					return templ_7745c5c3_Err
703				}
704				var templ_7745c5c3_Var34 string
705				templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(m.Repo)
706				if templ_7745c5c3_Err != nil {
707					return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 105, Col: 137}
708				}
709				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34))
710				if templ_7745c5c3_Err != nil {
711					return templ_7745c5c3_Err
712				}
713				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "</a></td><td class=\"c-when nowrap dim\">")
714				if templ_7745c5c3_Err != nil {
715					return templ_7745c5c3_Err
716				}
717				if m.WhenAt != "" {
718					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "<time datetime=\"")
719					if templ_7745c5c3_Err != nil {
720						return templ_7745c5c3_Err
721					}
722					var templ_7745c5c3_Var35 string
723					templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
724					if templ_7745c5c3_Err != nil {
725						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 108, Col: 33}
726					}
727					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var35)
728					if templ_7745c5c3_Err != nil {
729						return templ_7745c5c3_Err
730					}
731					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "\" title=\"")
732					if templ_7745c5c3_Err != nil {
733						return templ_7745c5c3_Err
734					}
735					var templ_7745c5c3_Var36 string
736					templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
737					if templ_7745c5c3_Err != nil {
738						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 108, Col: 52}
739					}
740					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var36)
741					if templ_7745c5c3_Err != nil {
742						return templ_7745c5c3_Err
743					}
744					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "\">")
745					if templ_7745c5c3_Err != nil {
746						return templ_7745c5c3_Err
747					}
748					var templ_7745c5c3_Var37 string
749					templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.JoinStringErrs(m.When)
750					if templ_7745c5c3_Err != nil {
751						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 108, Col: 63}
752					}
753					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var37))
754					if templ_7745c5c3_Err != nil {
755						return templ_7745c5c3_Err
756					}
757					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</time>")
758					if templ_7745c5c3_Err != nil {
759						return templ_7745c5c3_Err
760					}
761				}
762				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</td></tr>")
763				if templ_7745c5c3_Err != nil {
764					return templ_7745c5c3_Err
765				}
766			}
767			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</tbody></table>")
768			if templ_7745c5c3_Err != nil {
769				return templ_7745c5c3_Err
770			}
771		}
772		return nil
773	})
774}
775
776// InboxRuns stays as an empty fragment when CI is disabled.
777func InboxRuns(p InboxPage) templ.Component {
778	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
779		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
780		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
781			return templ_7745c5c3_CtxErr
782		}
783		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
784		if !templ_7745c5c3_IsBuffer {
785			defer func() {
786				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
787				if templ_7745c5c3_Err == nil {
788					templ_7745c5c3_Err = templ_7745c5c3_BufErr
789				}
790			}()
791		}
792		ctx = templ.InitializeContext(ctx)
793		templ_7745c5c3_Var38 := templ.GetChildren(ctx)
794		if templ_7745c5c3_Var38 == nil {
795			templ_7745c5c3_Var38 = templ.NopComponent
796		}
797		ctx = templ.ClearChildren(ctx)
798		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "<section id=\"inbox-runs\"")
799		if templ_7745c5c3_Err != nil {
800			return templ_7745c5c3_Err
801		}
802		if !p.RunsEnabled {
803			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, " hidden")
804			if templ_7745c5c3_Err != nil {
805				return templ_7745c5c3_Err
806			}
807		}
808		if p.RunsEnabled {
809			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, " aria-labelledby=\"inbox-runs-h\"")
810			if templ_7745c5c3_Err != nil {
811				return templ_7745c5c3_Err
812			}
813		}
814		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, ">")
815		if templ_7745c5c3_Err != nil {
816			return templ_7745c5c3_Err
817		}
818		if p.RunsEnabled {
819			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "<h2 id=\"inbox-runs-h\" class=\"rule-h\"><span>Running</span><span class=\"count\">")
820			if templ_7745c5c3_Err != nil {
821				return templ_7745c5c3_Err
822			}
823			var templ_7745c5c3_Var39 string
824			templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Runs)))
825			if templ_7745c5c3_Err != nil {
826				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 126, Col: 99}
827			}
828			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39))
829			if templ_7745c5c3_Err != nil {
830				return templ_7745c5c3_Err
831			}
832			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "</span></h2>")
833			if templ_7745c5c3_Err != nil {
834				return templ_7745c5c3_Err
835			}
836			if len(p.Runs) == 0 {
837				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "<p class=\"lede dim\">no runs in progress.</p>")
838				if templ_7745c5c3_Err != nil {
839					return templ_7745c5c3_Err
840				}
841			} else {
842				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "<table class=\"list mrs\" aria-label=\"Running\"><tbody data-rows>")
843				if templ_7745c5c3_Err != nil {
844					return templ_7745c5c3_Err
845				}
846				for _, r := range p.Runs {
847					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "<tr><td class=\"c-st\">")
848					if templ_7745c5c3_Err != nil {
849						return templ_7745c5c3_Err
850					}
851					templ_7745c5c3_Err = CheckIcon(r.Kind, r.State).Render(ctx, templ_7745c5c3_Buffer)
852					if templ_7745c5c3_Err != nil {
853						return templ_7745c5c3_Err
854					}
855					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "<span class=\"dim\">")
856					if templ_7745c5c3_Err != nil {
857						return templ_7745c5c3_Err
858					}
859					var templ_7745c5c3_Var40 string
860					templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(r.State)
861					if templ_7745c5c3_Err != nil {
862						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 134, Col: 79}
863					}
864					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40))
865					if templ_7745c5c3_Err != nil {
866						return templ_7745c5c3_Err
867					}
868					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "</span></td><td class=\"c-subject\"><a href=\"")
869					if templ_7745c5c3_Err != nil {
870						return templ_7745c5c3_Err
871					}
872					var templ_7745c5c3_Var41 templ.SafeURL
873					templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
874					if templ_7745c5c3_Err != nil {
875						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 61}
876					}
877					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41))
878					if templ_7745c5c3_Err != nil {
879						return templ_7745c5c3_Err
880					}
881					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "\">")
882					if templ_7745c5c3_Err != nil {
883						return templ_7745c5c3_Err
884					}
885					var templ_7745c5c3_Var42 string
886					templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(r.Workflow)
887					if templ_7745c5c3_Err != nil {
888						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 76}
889					}
890					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42))
891					if templ_7745c5c3_Err != nil {
892						return templ_7745c5c3_Err
893					}
894					var templ_7745c5c3_Var43 string
895					templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(" ")
896					if templ_7745c5c3_Err != nil {
897						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 83}
898					}
899					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43))
900					if templ_7745c5c3_Err != nil {
901						return templ_7745c5c3_Err
902					}
903					var templ_7745c5c3_Var44 string
904					templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(r.Number)
905					if templ_7745c5c3_Err != nil {
906						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 95}
907					}
908					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44))
909					if templ_7745c5c3_Err != nil {
910						return templ_7745c5c3_Err
911					}
912					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "</a> <a class=\"mute\" href=\"")
913					if templ_7745c5c3_Err != nil {
914						return templ_7745c5c3_Err
915					}
916					var templ_7745c5c3_Var45 templ.SafeURL
917					templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.RepoHref))
918					if templ_7745c5c3_Err != nil {
919						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 150}
920					}
921					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45))
922					if templ_7745c5c3_Err != nil {
923						return templ_7745c5c3_Err
924					}
925					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "\">")
926					if templ_7745c5c3_Err != nil {
927						return templ_7745c5c3_Err
928					}
929					var templ_7745c5c3_Var46 string
930					templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(r.Repo)
931					if templ_7745c5c3_Err != nil {
932						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 161}
933					}
934					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46))
935					if templ_7745c5c3_Err != nil {
936						return templ_7745c5c3_Err
937					}
938					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "</a> <span class=\"dim\">")
939					if templ_7745c5c3_Err != nil {
940						return templ_7745c5c3_Err
941					}
942					var templ_7745c5c3_Var47 string
943					templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(r.Ref)
944					if templ_7745c5c3_Err != nil {
945						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 193}
946					}
947					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47))
948					if templ_7745c5c3_Err != nil {
949						return templ_7745c5c3_Err
950					}
951					var templ_7745c5c3_Var48 string
952					templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(" ")
953					if templ_7745c5c3_Err != nil {
954						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 200}
955					}
956					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48))
957					if templ_7745c5c3_Err != nil {
958						return templ_7745c5c3_Err
959					}
960					var templ_7745c5c3_Var49 string
961					templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(r.Event)
962					if templ_7745c5c3_Err != nil {
963						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 135, Col: 211}
964					}
965					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49))
966					if templ_7745c5c3_Err != nil {
967						return templ_7745c5c3_Err
968					}
969					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "</span></td><td class=\"c-when nowrap dim\">")
970					if templ_7745c5c3_Err != nil {
971						return templ_7745c5c3_Err
972					}
973					if r.WhenAt != "" {
974						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "<time datetime=\"")
975						if templ_7745c5c3_Err != nil {
976							return templ_7745c5c3_Err
977						}
978						var templ_7745c5c3_Var50 string
979						templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt)
980						if templ_7745c5c3_Err != nil {
981							return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 138, Col: 35}
982						}
983						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var50)
984						if templ_7745c5c3_Err != nil {
985							return templ_7745c5c3_Err
986						}
987						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "\" title=\"")
988						if templ_7745c5c3_Err != nil {
989							return templ_7745c5c3_Err
990						}
991						var templ_7745c5c3_Var51 string
992						templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt)
993						if templ_7745c5c3_Err != nil {
994							return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 138, Col: 54}
995						}
996						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var51)
997						if templ_7745c5c3_Err != nil {
998							return templ_7745c5c3_Err
999						}
1000						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "\">")
1001						if templ_7745c5c3_Err != nil {
1002							return templ_7745c5c3_Err
1003						}
1004						var templ_7745c5c3_Var52 string
1005						templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(r.When)
1006						if templ_7745c5c3_Err != nil {
1007							return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 138, Col: 65}
1008						}
1009						_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52))
1010						if templ_7745c5c3_Err != nil {
1011							return templ_7745c5c3_Err
1012						}
1013						templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "</time>")
1014						if templ_7745c5c3_Err != nil {
1015							return templ_7745c5c3_Err
1016						}
1017					}
1018					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "</td></tr>")
1019					if templ_7745c5c3_Err != nil {
1020						return templ_7745c5c3_Err
1021					}
1022				}
1023				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "</tbody></table>")
1024				if templ_7745c5c3_Err != nil {
1025					return templ_7745c5c3_Err
1026				}
1027			}
1028		}
1029		templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "</section>")
1030		if templ_7745c5c3_Err != nil {
1031			return templ_7745c5c3_Err
1032		}
1033		return nil
1034	})
1035}
1036
1037var _ = 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 4

Tags 45

↑↓ moveenter openesc close