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 = InboxMRs(p).Render(ctx, templ_7745c5c3_Buffer)
66 if templ_7745c5c3_Err != nil {
67 return templ_7745c5c3_Err
68 }
69 templ_7745c5c3_Err = InboxIssues(p).Render(ctx, templ_7745c5c3_Buffer)
70 if templ_7745c5c3_Err != nil {
71 return templ_7745c5c3_Err
72 }
73 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</div>")
74 if templ_7745c5c3_Err != nil {
75 return templ_7745c5c3_Err
76 }
77 return nil
78 })
79 templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
80 if templ_7745c5c3_Err != nil {
81 return templ_7745c5c3_Err
82 }
83 return nil
84 })
85}
86
87func InboxCounters(p InboxPage) templ.Component {
88 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
89 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
90 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
91 return templ_7745c5c3_CtxErr
92 }
93 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
94 if !templ_7745c5c3_IsBuffer {
95 defer func() {
96 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
97 if templ_7745c5c3_Err == nil {
98 templ_7745c5c3_Err = templ_7745c5c3_BufErr
99 }
100 }()
101 }
102 ctx = templ.InitializeContext(ctx)
103 templ_7745c5c3_Var3 := templ.GetChildren(ctx)
104 if templ_7745c5c3_Var3 == nil {
105 templ_7745c5c3_Var3 = templ.NopComponent
106 }
107 ctx = templ.ClearChildren(ctx)
108 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<p id=\"inbox-counts\" class=\"inbox-counts\"><strong>")
109 if templ_7745c5c3_Err != nil {
110 return templ_7745c5c3_Err
111 }
112 var templ_7745c5c3_Var4 string
113 templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.MergeRequests))
114 if templ_7745c5c3_Err != nil {
115 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 23, Col: 33}
116 }
117 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
118 if templ_7745c5c3_Err != nil {
119 return templ_7745c5c3_Err
120 }
121 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "</strong> merge requests · <strong>")
122 if templ_7745c5c3_Err != nil {
123 return templ_7745c5c3_Err
124 }
125 var templ_7745c5c3_Var5 string
126 templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Issues))
127 if templ_7745c5c3_Err != nil {
128 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 23, Col: 87}
129 }
130 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
131 if templ_7745c5c3_Err != nil {
132 return templ_7745c5c3_Err
133 }
134 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "</strong> issues · <strong>")
135 if templ_7745c5c3_Err != nil {
136 return templ_7745c5c3_Err
137 }
138 var templ_7745c5c3_Var6 string
139 templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.PendingCount))
140 if templ_7745c5c3_Err != nil {
141 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 23, Col: 139}
142 }
143 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
144 if templ_7745c5c3_Err != nil {
145 return templ_7745c5c3_Err
146 }
147 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "</strong> awaiting moderation</p>")
148 if templ_7745c5c3_Err != nil {
149 return templ_7745c5c3_Err
150 }
151 return nil
152 })
153}
154
155func InboxRepos(p InboxPage) templ.Component {
156 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
157 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
158 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
159 return templ_7745c5c3_CtxErr
160 }
161 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
162 if !templ_7745c5c3_IsBuffer {
163 defer func() {
164 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
165 if templ_7745c5c3_Err == nil {
166 templ_7745c5c3_Err = templ_7745c5c3_BufErr
167 }
168 }()
169 }
170 ctx = templ.InitializeContext(ctx)
171 templ_7745c5c3_Var7 := templ.GetChildren(ctx)
172 if templ_7745c5c3_Var7 == nil {
173 templ_7745c5c3_Var7 = templ.NopComponent
174 }
175 ctx = templ.ClearChildren(ctx)
176 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "<nav id=\"inbox-repos\" class=\"since\" aria-label=\"Repository\">")
177 if templ_7745c5c3_Err != nil {
178 return templ_7745c5c3_Err
179 }
180 for _, r := range p.Repos {
181 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<a href=\"")
182 if templ_7745c5c3_Err != nil {
183 return templ_7745c5c3_Err
184 }
185 var templ_7745c5c3_Var8 templ.SafeURL
186 templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href))
187 if templ_7745c5c3_Err != nil {
188 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 31, Col: 32}
189 }
190 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
191 if templ_7745c5c3_Err != nil {
192 return templ_7745c5c3_Err
193 }
194 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "\"")
195 if templ_7745c5c3_Err != nil {
196 return templ_7745c5c3_Err
197 }
198 if r.Current {
199 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, " aria-current=\"page\"")
200 if templ_7745c5c3_Err != nil {
201 return templ_7745c5c3_Err
202 }
203 }
204 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, ">")
205 if templ_7745c5c3_Err != nil {
206 return templ_7745c5c3_Err
207 }
208 var templ_7745c5c3_Var9 string
209 templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(r.Label)
210 if templ_7745c5c3_Err != nil {
211 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 35, Col: 13}
212 }
213 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
214 if templ_7745c5c3_Err != nil {
215 return templ_7745c5c3_Err
216 }
217 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</a>")
218 if templ_7745c5c3_Err != nil {
219 return templ_7745c5c3_Err
220 }
221 }
222 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</nav>")
223 if templ_7745c5c3_Err != nil {
224 return templ_7745c5c3_Err
225 }
226 return nil
227 })
228}
229
230// InboxPending is the issues awaiting moderation, first on the page. Their
231// texts come from anonymous visitors: they are shown as plain text, escaped,
232// never as Markdown.
233func InboxPending(p InboxPage) templ.Component {
234 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
235 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
236 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
237 return templ_7745c5c3_CtxErr
238 }
239 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
240 if !templ_7745c5c3_IsBuffer {
241 defer func() {
242 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
243 if templ_7745c5c3_Err == nil {
244 templ_7745c5c3_Err = templ_7745c5c3_BufErr
245 }
246 }()
247 }
248 ctx = templ.InitializeContext(ctx)
249 templ_7745c5c3_Var10 := templ.GetChildren(ctx)
250 if templ_7745c5c3_Var10 == nil {
251 templ_7745c5c3_Var10 = templ.NopComponent
252 }
253 ctx = templ.ClearChildren(ctx)
254 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<section id=\"inbox-pending\" aria-labelledby=\"inbox-pending-h\"><h2 id=\"inbox-pending-h\" class=\"rule-h\"><span>Awaiting moderation</span><span class=\"count\">")
255 if templ_7745c5c3_Err != nil {
256 return templ_7745c5c3_Err
257 }
258 var templ_7745c5c3_Var11 string
259 templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.PendingCount))
260 if templ_7745c5c3_Err != nil {
261 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 45, Col: 116}
262 }
263 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
264 if templ_7745c5c3_Err != nil {
265 return templ_7745c5c3_Err
266 }
267 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</span></h2>")
268 if templ_7745c5c3_Err != nil {
269 return templ_7745c5c3_Err
270 }
271 if len(p.Pending) > 0 {
272 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<ul class=\"pending-list\">")
273 if templ_7745c5c3_Err != nil {
274 return templ_7745c5c3_Err
275 }
276 for _, m := range p.Pending {
277 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<li class=\"pending\"><div class=\"p-head\"><a href=\"")
278 if templ_7745c5c3_Err != nil {
279 return templ_7745c5c3_Err
280 }
281 var templ_7745c5c3_Var12 templ.SafeURL
282 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.RepoHref))
283 if templ_7745c5c3_Err != nil {
284 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 51, Col: 42}
285 }
286 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
287 if templ_7745c5c3_Err != nil {
288 return templ_7745c5c3_Err
289 }
290 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\">")
291 if templ_7745c5c3_Err != nil {
292 return templ_7745c5c3_Err
293 }
294 var templ_7745c5c3_Var13 string
295 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(m.Repo)
296 if templ_7745c5c3_Err != nil {
297 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 51, Col: 53}
298 }
299 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
300 if templ_7745c5c3_Err != nil {
301 return templ_7745c5c3_Err
302 }
303 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</a> <span>")
304 if templ_7745c5c3_Err != nil {
305 return templ_7745c5c3_Err
306 }
307 var templ_7745c5c3_Var14 string
308 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(m.Author)
309 if templ_7745c5c3_Err != nil {
310 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 52, Col: 23}
311 }
312 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
313 if templ_7745c5c3_Err != nil {
314 return templ_7745c5c3_Err
315 }
316 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</span> ")
317 if templ_7745c5c3_Err != nil {
318 return templ_7745c5c3_Err
319 }
320 if m.WhenAt != "" {
321 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<time datetime=\"")
322 if templ_7745c5c3_Err != nil {
323 return templ_7745c5c3_Err
324 }
325 var templ_7745c5c3_Var15 string
326 templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
327 if templ_7745c5c3_Err != nil {
328 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 54, Col: 33}
329 }
330 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var15)
331 if templ_7745c5c3_Err != nil {
332 return templ_7745c5c3_Err
333 }
334 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\" title=\"")
335 if templ_7745c5c3_Err != nil {
336 return templ_7745c5c3_Err
337 }
338 var templ_7745c5c3_Var16 string
339 templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
340 if templ_7745c5c3_Err != nil {
341 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 54, Col: 52}
342 }
343 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16)
344 if templ_7745c5c3_Err != nil {
345 return templ_7745c5c3_Err
346 }
347 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "\">")
348 if templ_7745c5c3_Err != nil {
349 return templ_7745c5c3_Err
350 }
351 var templ_7745c5c3_Var17 string
352 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(m.When)
353 if templ_7745c5c3_Err != nil {
354 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 54, Col: 63}
355 }
356 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
357 if templ_7745c5c3_Err != nil {
358 return templ_7745c5c3_Err
359 }
360 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</time>")
361 if templ_7745c5c3_Err != nil {
362 return templ_7745c5c3_Err
363 }
364 }
365 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "</div><p class=\"p-title\">")
366 if templ_7745c5c3_Err != nil {
367 return templ_7745c5c3_Err
368 }
369 var templ_7745c5c3_Var18 string
370 templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(m.Title)
371 if templ_7745c5c3_Err != nil {
372 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 57, Col: 34}
373 }
374 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
375 if templ_7745c5c3_Err != nil {
376 return templ_7745c5c3_Err
377 }
378 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</p>")
379 if templ_7745c5c3_Err != nil {
380 return templ_7745c5c3_Err
381 }
382 if m.Preview != "" {
383 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<p class=\"p-body\">")
384 if templ_7745c5c3_Err != nil {
385 return templ_7745c5c3_Err
386 }
387 var templ_7745c5c3_Var19 string
388 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(m.Preview)
389 if templ_7745c5c3_Err != nil {
390 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 59, Col: 36}
391 }
392 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
393 if templ_7745c5c3_Err != nil {
394 return templ_7745c5c3_Err
395 }
396 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "</p>")
397 if templ_7745c5c3_Err != nil {
398 return templ_7745c5c3_Err
399 }
400 }
401 if m.Approve != "" {
402 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "<div class=\"p-btns\"><form method=\"post\" action=\"")
403 if templ_7745c5c3_Err != nil {
404 return templ_7745c5c3_Err
405 }
406 var templ_7745c5c3_Var20 templ.SafeURL
407 templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Approve))
408 if templ_7745c5c3_Err != nil {
409 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 63, Col: 61}
410 }
411 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
412 if templ_7745c5c3_Err != nil {
413 return templ_7745c5c3_Err
414 }
415 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "\"><button type=\"submit\" class=\"btn primary\">Approve</button></form><form method=\"post\" action=\"")
416 if templ_7745c5c3_Err != nil {
417 return templ_7745c5c3_Err
418 }
419 var templ_7745c5c3_Var21 templ.SafeURL
420 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Reject))
421 if templ_7745c5c3_Err != nil {
422 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 64, Col: 60}
423 }
424 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
425 if templ_7745c5c3_Err != nil {
426 return templ_7745c5c3_Err
427 }
428 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\"><button type=\"submit\" class=\"btn\">Reject</button></form><form method=\"post\" action=\"")
429 if templ_7745c5c3_Err != nil {
430 return templ_7745c5c3_Err
431 }
432 var templ_7745c5c3_Var22 templ.SafeURL
433 templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Ban))
434 if templ_7745c5c3_Err != nil {
435 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 65, Col: 57}
436 }
437 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
438 if templ_7745c5c3_Err != nil {
439 return templ_7745c5c3_Err
440 }
441 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\"><button type=\"submit\" class=\"btn danger\">Reject and ban</button></form></div>")
442 if templ_7745c5c3_Err != nil {
443 return templ_7745c5c3_Err
444 }
445 }
446 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "</li>")
447 if templ_7745c5c3_Err != nil {
448 return templ_7745c5c3_Err
449 }
450 }
451 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</ul>")
452 if templ_7745c5c3_Err != nil {
453 return templ_7745c5c3_Err
454 }
455 } else {
456 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "<p class=\"lede dim\">nothing awaits moderation.</p>")
457 if templ_7745c5c3_Err != nil {
458 return templ_7745c5c3_Err
459 }
460 }
461 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</section>")
462 if templ_7745c5c3_Err != nil {
463 return templ_7745c5c3_Err
464 }
465 return nil
466 })
467}
468
469func InboxMRs(p InboxPage) templ.Component {
470 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
471 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
472 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
473 return templ_7745c5c3_CtxErr
474 }
475 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
476 if !templ_7745c5c3_IsBuffer {
477 defer func() {
478 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
479 if templ_7745c5c3_Err == nil {
480 templ_7745c5c3_Err = templ_7745c5c3_BufErr
481 }
482 }()
483 }
484 ctx = templ.InitializeContext(ctx)
485 templ_7745c5c3_Var23 := templ.GetChildren(ctx)
486 if templ_7745c5c3_Var23 == nil {
487 templ_7745c5c3_Var23 = templ.NopComponent
488 }
489 ctx = templ.ClearChildren(ctx)
490 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "<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\">")
491 if templ_7745c5c3_Err != nil {
492 return templ_7745c5c3_Err
493 }
494 var templ_7745c5c3_Var24 string
495 templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.MRs)))
496 if templ_7745c5c3_Err != nil {
497 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 79, Col: 108}
498 }
499 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
500 if templ_7745c5c3_Err != nil {
501 return templ_7745c5c3_Err
502 }
503 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "</span></h2>")
504 if templ_7745c5c3_Err != nil {
505 return templ_7745c5c3_Err
506 }
507 templ_7745c5c3_Err = inboxRows(p.MRs, "Open merge requests").Render(ctx, templ_7745c5c3_Buffer)
508 if templ_7745c5c3_Err != nil {
509 return templ_7745c5c3_Err
510 }
511 if len(p.MRs) == 0 {
512 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<p class=\"lede dim\">no open merge requests.</p>")
513 if templ_7745c5c3_Err != nil {
514 return templ_7745c5c3_Err
515 }
516 }
517 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</section>")
518 if templ_7745c5c3_Err != nil {
519 return templ_7745c5c3_Err
520 }
521 return nil
522 })
523}
524
525func InboxIssues(p InboxPage) templ.Component {
526 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
527 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
528 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
529 return templ_7745c5c3_CtxErr
530 }
531 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
532 if !templ_7745c5c3_IsBuffer {
533 defer func() {
534 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
535 if templ_7745c5c3_Err == nil {
536 templ_7745c5c3_Err = templ_7745c5c3_BufErr
537 }
538 }()
539 }
540 ctx = templ.InitializeContext(ctx)
541 templ_7745c5c3_Var25 := templ.GetChildren(ctx)
542 if templ_7745c5c3_Var25 == nil {
543 templ_7745c5c3_Var25 = templ.NopComponent
544 }
545 ctx = templ.ClearChildren(ctx)
546 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<section id=\"inbox-issues\" aria-labelledby=\"inbox-issues-h\"><h2 id=\"inbox-issues-h\" class=\"rule-h\"><span>Open issues</span><span class=\"count\">")
547 if templ_7745c5c3_Err != nil {
548 return templ_7745c5c3_Err
549 }
550 var templ_7745c5c3_Var26 string
551 templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.IssueRows)))
552 if templ_7745c5c3_Err != nil {
553 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 89, Col: 109}
554 }
555 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
556 if templ_7745c5c3_Err != nil {
557 return templ_7745c5c3_Err
558 }
559 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</span></h2>")
560 if templ_7745c5c3_Err != nil {
561 return templ_7745c5c3_Err
562 }
563 templ_7745c5c3_Err = inboxRows(p.IssueRows, "Open issues").Render(ctx, templ_7745c5c3_Buffer)
564 if templ_7745c5c3_Err != nil {
565 return templ_7745c5c3_Err
566 }
567 if len(p.IssueRows) == 0 {
568 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "<p class=\"lede dim\">no open issues.</p>")
569 if templ_7745c5c3_Err != nil {
570 return templ_7745c5c3_Err
571 }
572 }
573 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</section>")
574 if templ_7745c5c3_Err != nil {
575 return templ_7745c5c3_Err
576 }
577 return nil
578 })
579}
580
581func inboxRows(rows []InboxRow, label string) templ.Component {
582 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
583 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
584 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
585 return templ_7745c5c3_CtxErr
586 }
587 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
588 if !templ_7745c5c3_IsBuffer {
589 defer func() {
590 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
591 if templ_7745c5c3_Err == nil {
592 templ_7745c5c3_Err = templ_7745c5c3_BufErr
593 }
594 }()
595 }
596 ctx = templ.InitializeContext(ctx)
597 templ_7745c5c3_Var27 := templ.GetChildren(ctx)
598 if templ_7745c5c3_Var27 == nil {
599 templ_7745c5c3_Var27 = templ.NopComponent
600 }
601 ctx = templ.ClearChildren(ctx)
602 if len(rows) > 0 {
603 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<table class=\"list mrs\" aria-label=\"")
604 if templ_7745c5c3_Err != nil {
605 return templ_7745c5c3_Err
606 }
607 var templ_7745c5c3_Var28 string
608 templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.ResolveAttributeValue(label)
609 if templ_7745c5c3_Err != nil {
610 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 99, Col: 44}
611 }
612 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var28)
613 if templ_7745c5c3_Err != nil {
614 return templ_7745c5c3_Err
615 }
616 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "\"><tbody data-rows>")
617 if templ_7745c5c3_Err != nil {
618 return templ_7745c5c3_Err
619 }
620 for _, m := range rows {
621 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<tr")
622 if templ_7745c5c3_Err != nil {
623 return templ_7745c5c3_Err
624 }
625 if m.Cursor {
626 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, " data-cursor")
627 if templ_7745c5c3_Err != nil {
628 return templ_7745c5c3_Err
629 }
630 }
631 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, " data-state=\"open\"><td class=\"c-n mute\">")
632 if templ_7745c5c3_Err != nil {
633 return templ_7745c5c3_Err
634 }
635 var templ_7745c5c3_Var29 string
636 templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(m.Number)
637 if templ_7745c5c3_Err != nil {
638 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 103, Col: 37}
639 }
640 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29))
641 if templ_7745c5c3_Err != nil {
642 return templ_7745c5c3_Err
643 }
644 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</td><td class=\"c-subject\"><a href=\"")
645 if templ_7745c5c3_Err != nil {
646 return templ_7745c5c3_Err
647 }
648 var templ_7745c5c3_Var30 templ.SafeURL
649 templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.Href))
650 if templ_7745c5c3_Err != nil {
651 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 104, Col: 59}
652 }
653 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
654 if templ_7745c5c3_Err != nil {
655 return templ_7745c5c3_Err
656 }
657 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "\">")
658 if templ_7745c5c3_Err != nil {
659 return templ_7745c5c3_Err
660 }
661 var templ_7745c5c3_Var31 string
662 templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(m.Title)
663 if templ_7745c5c3_Err != nil {
664 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 104, Col: 71}
665 }
666 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31))
667 if templ_7745c5c3_Err != nil {
668 return templ_7745c5c3_Err
669 }
670 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "</a> <a class=\"mute\" href=\"")
671 if templ_7745c5c3_Err != nil {
672 return templ_7745c5c3_Err
673 }
674 var templ_7745c5c3_Var32 templ.SafeURL
675 templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(m.RepoHref))
676 if templ_7745c5c3_Err != nil {
677 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 104, Col: 126}
678 }
679 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
680 if templ_7745c5c3_Err != nil {
681 return templ_7745c5c3_Err
682 }
683 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\">")
684 if templ_7745c5c3_Err != nil {
685 return templ_7745c5c3_Err
686 }
687 var templ_7745c5c3_Var33 string
688 templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(m.Repo)
689 if templ_7745c5c3_Err != nil {
690 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 104, Col: 137}
691 }
692 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33))
693 if templ_7745c5c3_Err != nil {
694 return templ_7745c5c3_Err
695 }
696 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "</a></td><td class=\"c-when nowrap dim\">")
697 if templ_7745c5c3_Err != nil {
698 return templ_7745c5c3_Err
699 }
700 if m.WhenAt != "" {
701 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "<time datetime=\"")
702 if templ_7745c5c3_Err != nil {
703 return templ_7745c5c3_Err
704 }
705 var templ_7745c5c3_Var34 string
706 templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
707 if templ_7745c5c3_Err != nil {
708 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 107, Col: 33}
709 }
710 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34)
711 if templ_7745c5c3_Err != nil {
712 return templ_7745c5c3_Err
713 }
714 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "\" title=\"")
715 if templ_7745c5c3_Err != nil {
716 return templ_7745c5c3_Err
717 }
718 var templ_7745c5c3_Var35 string
719 templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.WhenAt)
720 if templ_7745c5c3_Err != nil {
721 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 107, Col: 52}
722 }
723 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var35)
724 if templ_7745c5c3_Err != nil {
725 return templ_7745c5c3_Err
726 }
727 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "\">")
728 if templ_7745c5c3_Err != nil {
729 return templ_7745c5c3_Err
730 }
731 var templ_7745c5c3_Var36 string
732 templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(m.When)
733 if templ_7745c5c3_Err != nil {
734 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/inbox.templ`, Line: 107, Col: 63}
735 }
736 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36))
737 if templ_7745c5c3_Err != nil {
738 return templ_7745c5c3_Err
739 }
740 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</time>")
741 if templ_7745c5c3_Err != nil {
742 return templ_7745c5c3_Err
743 }
744 }
745 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</td></tr>")
746 if templ_7745c5c3_Err != nil {
747 return templ_7745c5c3_Err
748 }
749 }
750 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</tbody></table>")
751 if templ_7745c5c3_Err != nil {
752 return templ_7745c5c3_Err
753 }
754 }
755 return nil
756 })
757}
758
759var _ = templruntime.GeneratedTemplate