ikurotime / gitgud

public
main / internal/interface/web/templates/issues_list_templ.go
13.0 KB · Go Raw
  1// Code generated by templ - DO NOT EDIT.
  2
  3// templ: version: v0.3.865
  4package templates
  5
  6//lint:file-ignore SA4006 This context is only used if a nested component is present.
  7
  8import "github.com/a-h/templ"
  9import templruntime "github.com/a-h/templ/runtime"
 10
 11import "gitgud/internal/domain"
 12
 13func IssuesList(user *domain.User, repo *domain.Repository, state string, issues []*domain.Issue, openCount, closedCount int) templ.Component {
 14	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 15		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 16		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
 17			return templ_7745c5c3_CtxErr
 18		}
 19		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 20		if !templ_7745c5c3_IsBuffer {
 21			defer func() {
 22				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 23				if templ_7745c5c3_Err == nil {
 24					templ_7745c5c3_Err = templ_7745c5c3_BufErr
 25				}
 26			}()
 27		}
 28		ctx = templ.InitializeContext(ctx)
 29		templ_7745c5c3_Var1 := templ.GetChildren(ctx)
 30		if templ_7745c5c3_Var1 == nil {
 31			templ_7745c5c3_Var1 = templ.NopComponent
 32		}
 33		ctx = templ.ClearChildren(ctx)
 34		templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
 35			templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
 36			templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
 37			if !templ_7745c5c3_IsBuffer {
 38				defer func() {
 39					templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
 40					if templ_7745c5c3_Err == nil {
 41						templ_7745c5c3_Err = templ_7745c5c3_BufErr
 42					}
 43				}()
 44			}
 45			ctx = templ.InitializeContext(ctx)
 46			templ_7745c5c3_Err = repoHeader(repo, "issues").Render(ctx, templ_7745c5c3_Buffer)
 47			if templ_7745c5c3_Err != nil {
 48				return templ_7745c5c3_Err
 49			}
 50			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " <div class=\"mb-4 flex items-center justify-between\"><div class=\"flex gap-5 text-sm\">")
 51			if templ_7745c5c3_Err != nil {
 52				return templ_7745c5c3_Err
 53			}
 54			var templ_7745c5c3_Var3 = []any{stateTabClass(state, "open")}
 55			templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var3...)
 56			if templ_7745c5c3_Err != nil {
 57				return templ_7745c5c3_Err
 58			}
 59			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "<a class=\"")
 60			if templ_7745c5c3_Err != nil {
 61				return templ_7745c5c3_Err
 62			}
 63			var templ_7745c5c3_Var4 string
 64			templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var3).String())
 65			if templ_7745c5c3_Err != nil {
 66				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 1, Col: 0}
 67			}
 68			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
 69			if templ_7745c5c3_Err != nil {
 70				return templ_7745c5c3_Err
 71			}
 72			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "\" href=\"")
 73			if templ_7745c5c3_Err != nil {
 74				return templ_7745c5c3_Err
 75			}
 76			var templ_7745c5c3_Var5 templ.SafeURL = templ.SafeURL(repoPath(repo, "/issues?state=open"))
 77			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var5)))
 78			if templ_7745c5c3_Err != nil {
 79				return templ_7745c5c3_Err
 80			}
 81			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "\">")
 82			if templ_7745c5c3_Err != nil {
 83				return templ_7745c5c3_Err
 84			}
 85			var templ_7745c5c3_Var6 string
 86			templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(openCount))
 87			if templ_7745c5c3_Err != nil {
 88				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 10, Col: 124}
 89			}
 90			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
 91			if templ_7745c5c3_Err != nil {
 92				return templ_7745c5c3_Err
 93			}
 94			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, " Open</a> ")
 95			if templ_7745c5c3_Err != nil {
 96				return templ_7745c5c3_Err
 97			}
 98			var templ_7745c5c3_Var7 = []any{stateTabClass(state, "closed")}
 99			templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var7...)
100			if templ_7745c5c3_Err != nil {
101				return templ_7745c5c3_Err
102			}
103			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "<a class=\"")
104			if templ_7745c5c3_Err != nil {
105				return templ_7745c5c3_Err
106			}
107			var templ_7745c5c3_Var8 string
108			templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var7).String())
109			if templ_7745c5c3_Err != nil {
110				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 1, Col: 0}
111			}
112			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
113			if templ_7745c5c3_Err != nil {
114				return templ_7745c5c3_Err
115			}
116			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "\" href=\"")
117			if templ_7745c5c3_Err != nil {
118				return templ_7745c5c3_Err
119			}
120			var templ_7745c5c3_Var9 templ.SafeURL = templ.SafeURL(repoPath(repo, "/issues?state=closed"))
121			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var9)))
122			if templ_7745c5c3_Err != nil {
123				return templ_7745c5c3_Err
124			}
125			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "\">")
126			if templ_7745c5c3_Err != nil {
127				return templ_7745c5c3_Err
128			}
129			var templ_7745c5c3_Var10 string
130			templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(closedCount))
131			if templ_7745c5c3_Err != nil {
132				return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 11, Col: 130}
133			}
134			_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
135			if templ_7745c5c3_Err != nil {
136				return templ_7745c5c3_Err
137			}
138			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, " Closed</a></div>")
139			if templ_7745c5c3_Err != nil {
140				return templ_7745c5c3_Err
141			}
142			if user != nil {
143				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<a class=\"btn btn-primary\" href=\"")
144				if templ_7745c5c3_Err != nil {
145					return templ_7745c5c3_Err
146				}
147				var templ_7745c5c3_Var11 templ.SafeURL = templ.SafeURL(repoPath(repo, "/issues/new"))
148				_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var11)))
149				if templ_7745c5c3_Err != nil {
150					return templ_7745c5c3_Err
151				}
152				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "\">+ New issue</a>")
153				if templ_7745c5c3_Err != nil {
154					return templ_7745c5c3_Err
155				}
156			}
157			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</div>")
158			if templ_7745c5c3_Err != nil {
159				return templ_7745c5c3_Err
160			}
161			if len(issues) == 0 {
162				templ_7745c5c3_Err = emptyState("No issues here", "There are no "+state+" issues in this repository.", "", "").Render(ctx, templ_7745c5c3_Buffer)
163				if templ_7745c5c3_Err != nil {
164					return templ_7745c5c3_Err
165				}
166			} else {
167				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<div class=\"card overflow-hidden\">")
168				if templ_7745c5c3_Err != nil {
169					return templ_7745c5c3_Err
170				}
171				for _, i := range issues {
172					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<div class=\"row border-b border-line px-4 py-3 last:border-0\"><a class=\"flex items-start gap-2.5\" href=\"")
173					if templ_7745c5c3_Err != nil {
174						return templ_7745c5c3_Err
175					}
176					var templ_7745c5c3_Var12 templ.SafeURL = templ.SafeURL(repoPath(repo, "/issues/"+itoa(i.Number)))
177					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var12)))
178					if templ_7745c5c3_Err != nil {
179						return templ_7745c5c3_Err
180					}
181					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\">")
182					if templ_7745c5c3_Err != nil {
183						return templ_7745c5c3_Err
184					}
185					templ_7745c5c3_Err = issueDot(string(i.State)).Render(ctx, templ_7745c5c3_Buffer)
186					if templ_7745c5c3_Err != nil {
187						return templ_7745c5c3_Err
188					}
189					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<span class=\"min-w-0\"><span class=\"block text-ink hover:text-accent\">")
190					if templ_7745c5c3_Err != nil {
191						return templ_7745c5c3_Err
192					}
193					var templ_7745c5c3_Var13 string
194					templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(i.Title)
195					if templ_7745c5c3_Err != nil {
196						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 26, Col: 64}
197					}
198					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
199					if templ_7745c5c3_Err != nil {
200						return templ_7745c5c3_Err
201					}
202					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</span> <span class=\"meta\">#")
203					if templ_7745c5c3_Err != nil {
204						return templ_7745c5c3_Err
205					}
206					var templ_7745c5c3_Var14 string
207					templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i.Number))
208					if templ_7745c5c3_Err != nil {
209						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 27, Col: 44}
210					}
211					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
212					if templ_7745c5c3_Err != nil {
213						return templ_7745c5c3_Err
214					}
215					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, " · opened by ")
216					if templ_7745c5c3_Err != nil {
217						return templ_7745c5c3_Err
218					}
219					var templ_7745c5c3_Var15 string
220					templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(i.AuthorName)
221					if templ_7745c5c3_Err != nil {
222						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 27, Col: 74}
223					}
224					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
225					if templ_7745c5c3_Err != nil {
226						return templ_7745c5c3_Err
227					}
228					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, " · ")
229					if templ_7745c5c3_Err != nil {
230						return templ_7745c5c3_Err
231					}
232					var templ_7745c5c3_Var16 string
233					templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(fmtTime(i.CreatedAt))
234					if templ_7745c5c3_Err != nil {
235						return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/issues_list.templ`, Line: 27, Col: 102}
236					}
237					_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
238					if templ_7745c5c3_Err != nil {
239						return templ_7745c5c3_Err
240					}
241					templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</span></span></a></div>")
242					if templ_7745c5c3_Err != nil {
243						return templ_7745c5c3_Err
244					}
245				}
246				templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</div>")
247				if templ_7745c5c3_Err != nil {
248					return templ_7745c5c3_Err
249				}
250			}
251			return nil
252		})
253		templ_7745c5c3_Err = Layout("Issues · "+repo.Name, user).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
254		if templ_7745c5c3_Err != nil {
255			return templ_7745c5c3_Err
256		}
257		return nil
258	})
259}
260
261func issueDot(state string) templ.Component {
262	return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
263		templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
264		if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
265			return templ_7745c5c3_CtxErr
266		}
267		templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
268		if !templ_7745c5c3_IsBuffer {
269			defer func() {
270				templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
271				if templ_7745c5c3_Err == nil {
272					templ_7745c5c3_Err = templ_7745c5c3_BufErr
273				}
274			}()
275		}
276		ctx = templ.InitializeContext(ctx)
277		templ_7745c5c3_Var17 := templ.GetChildren(ctx)
278		if templ_7745c5c3_Var17 == nil {
279			templ_7745c5c3_Var17 = templ.NopComponent
280		}
281		ctx = templ.ClearChildren(ctx)
282		if state == "open" {
283			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "<span class=\"mt-1 size-3.5 shrink-0 rounded-full border-2 border-accent\"></span>")
284			if templ_7745c5c3_Err != nil {
285				return templ_7745c5c3_Err
286			}
287		} else {
288			templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<span class=\"mt-1 size-3.5 shrink-0 rounded-full border-2 border-faint\"></span>")
289			if templ_7745c5c3_Err != nil {
290				return templ_7745c5c3_Err
291			}
292		}
293		return nil
294	})
295}
296
297var _ = templruntime.GeneratedTemplate