main / internal/interface/web/templates/layout_templ.go
18.8 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 Layout(title string, user *domain.User) 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_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<!doctype html><html lang=\"en\" class=\"dark\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>")
35 if templ_7745c5c3_Err != nil {
36 return templ_7745c5c3_Err
37 }
38 var templ_7745c5c3_Var2 string
39 templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(title)
40 if templ_7745c5c3_Err != nil {
41 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/layout.templ`, Line: 11, Col: 17}
42 }
43 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
44 if templ_7745c5c3_Err != nil {
45 return templ_7745c5c3_Err
46 }
47 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</title><link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin><link href=\"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap\" rel=\"stylesheet\"><script src=\"https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4\"></script><style type=\"text/tailwindcss\">\n\t\t\t\t@theme {\n\t\t\t\t\t--color-canvas: #0a0a0a;\n\t\t\t\t\t--color-panel: #0e0e0e;\n\t\t\t\t\t--color-panel2: #161616;\n\t\t\t\t\t--color-line: #1f1f1f;\n\t\t\t\t\t--color-line2: #2a2a2a;\n\t\t\t\t\t--color-ink: #ededed;\n\t\t\t\t\t--color-muted: #a1a1a1;\n\t\t\t\t\t--color-faint: #6e6e6e;\n\t\t\t\t\t--color-accent: #ededed;\n\t\t\t\t\t--color-accenthi: #ffffff;\n\t\t\t\t\t--color-grass: #ededed;\n\t\t\t\t\t--color-grasshi: #ffffff;\n\t\t\t\t\t--color-grassink: #0a0a0a;\n\t\t\t\t\t--color-open: #3fb950;\n\t\t\t\t\t--color-closed: #f85149;\n\t\t\t\t\t--color-merged: #a371f7;\n\t\t\t\t\t--color-warn: #d29922;\n\t\t\t\t\t--font-sans: \"Geist\", ui-sans-serif, system-ui, sans-serif;\n\t\t\t\t\t--font-mono: \"JetBrains Mono\", ui-monospace, monospace;\n\t\t\t\t}\n\t\t\t\t@layer base {\n\t\t\t\t\thtml { color-scheme: dark; }\n\t\t\t\t\tbody { @apply bg-canvas text-ink font-sans antialiased; }\n\t\t\t\t\tbody::before {\n\t\t\t\t\t\tcontent: \"\";\n\t\t\t\t\t\tposition: fixed;\n\t\t\t\t\t\tinset: 0;\n\t\t\t\t\t\tpointer-events: none;\n\t\t\t\t\t\tz-index: 0;\n\t\t\t\t\t\tbackground: radial-gradient(680px 320px at 50% -120px, rgba(255,255,255,.05), transparent 70%);\n\t\t\t\t\t}\n\t\t\t\t\ta { @apply transition-colors; }\n\t\t\t\t\tcode, pre, .mono { @apply font-mono; }\n\t\t\t\t\t::selection { background: rgba(255,255,255,.18); }\n\t\t\t\t\t::-webkit-scrollbar { width: 10px; height: 10px; }\n\t\t\t\t\t::-webkit-scrollbar-thumb { background: #2a2a2a; border-radius: 9999px; border: 2px solid #0a0a0a; }\n\t\t\t\t\t:focus-visible { outline: none; box-shadow: 0 0 0 2px rgba(255,255,255,.45); border-radius: 6px; }\n\t\t\t\t\tmain { animation: fade .15s ease-out both; }\n\t\t\t\t\t@keyframes fade { from { opacity: 0; } to { opacity: 1; } }\n\t\t\t\t\t@media (prefers-reduced-motion: reduce) { main { animation: none; } }\n\t\t\t\t}\n\t\t\t\t@layer components {\n\t\t\t\t\t.btn { @apply inline-flex items-center gap-1.5 rounded-md border border-line2 bg-panel2 px-3 py-1.5 text-sm font-medium text-ink transition hover:border-faint hover:bg-line; }\n\t\t\t\t\t.btn-primary { @apply border-transparent bg-grass font-semibold text-grassink hover:bg-grasshi hover:border-transparent; }\n\t\t\t\t\t.btn-danger { @apply text-closed hover:border-closed hover:bg-closed/10; }\n\t\t\t\t\t.input, .textarea, .select { @apply w-full rounded-md border border-line2 bg-[#111111] px-3 py-2 text-sm text-ink placeholder:text-faint transition focus:border-faint; }\n\t\t\t\t\t.card { @apply rounded-md border border-line bg-panel; }\n\t\t\t\t\t.link { @apply text-ink hover:text-accent; }\n\t\t\t\t\t.muted { @apply text-muted; }\n\t\t\t\t\t.meta { @apply font-mono text-xs text-faint; }\n\t\t\t\t\t.tab { @apply inline-flex items-center gap-2 border-b-2 border-transparent pb-2.5 text-sm text-muted transition hover:text-ink; }\n\t\t\t\t\t.tab-active { @apply border-accent font-semibold text-ink; }\n\t\t\t\t\t.badge { @apply inline-flex items-center gap-1 rounded border border-line2 px-2 py-0.5 text-xs font-medium text-muted; }\n\t\t\t\t\t.badge-open { @apply gap-1.5 rounded-full border-transparent bg-open/16 px-3 py-1 font-medium text-open; }\n\t\t\t\t\t.badge-closed { @apply gap-1.5 rounded-full border-transparent bg-closed/16 px-3 py-1 font-medium text-[#ff8f86]; }\n\t\t\t\t\t.badge-merged { @apply gap-1.5 rounded-full border-transparent bg-merged/16 px-3 py-1 font-medium text-[#c8a6f7]; }\n\t\t\t\t\t.label-bug { @apply inline-flex items-center rounded-full bg-closed/16 px-2.5 py-0.5 text-[10px] font-medium text-[#ff8f86]; }\n\t\t\t\t\t.label-enh { @apply inline-flex items-center rounded-full bg-accent/16 px-2.5 py-0.5 text-[10px] font-medium text-accenthi; }\n\t\t\t\t\t.label-good { @apply inline-flex items-center rounded-full bg-warn/16 px-2.5 py-0.5 text-[10px] font-medium text-warn; }\n\t\t\t\t\t.row { @apply transition hover:bg-panel2; }\n\t\t\t\t\t.diff-add { @apply bg-open/12 text-[#7ee2a0]; }\n\t\t\t\t\t.diff-del { @apply bg-closed/12 text-[#f2b8b3]; }\n\t\t\t\t\t.diff-hunk { @apply bg-panel2 text-faint; }\n\t\t\t\t\t.prose-dark { @apply text-sm leading-relaxed text-muted; }\n\t\t\t\t\t.prose-dark h1 { @apply mt-5 mb-3 text-xl font-semibold text-ink first:mt-0; }\n\t\t\t\t\t.prose-dark h2 { @apply mt-5 mb-2 text-lg font-semibold text-ink first:mt-0; }\n\t\t\t\t\t.prose-dark h3 { @apply mt-4 mb-2 font-semibold text-ink; }\n\t\t\t\t\t.prose-dark p { @apply my-3; }\n\t\t\t\t\t.prose-dark a { @apply text-accent hover:underline; }\n\t\t\t\t\t.prose-dark strong { @apply font-semibold text-ink; }\n\t\t\t\t\t.prose-dark ul { @apply my-3 list-disc pl-5; }\n\t\t\t\t\t.prose-dark ol { @apply my-3 list-decimal pl-5; }\n\t\t\t\t\t.prose-dark li { @apply my-1; }\n\t\t\t\t\t.prose-dark code { @apply rounded border border-line2 bg-panel2 px-1.5 py-0.5 text-[.85em] text-accent; }\n\t\t\t\t\t.prose-dark pre { @apply my-3 overflow-x-auto rounded-lg border border-line bg-panel2 p-4 text-xs; }\n\t\t\t\t\t.prose-dark pre code { @apply bg-transparent p-0; }\n\t\t\t\t\t.prose-dark blockquote { @apply my-3 border-l-2 border-line2 pl-4 text-faint; }\n\t\t\t\t\t.prose-dark hr { @apply my-5 border-line; }\n\t\t\t\t}\n\t\t\t</style></head><body><header class=\"sticky top-0 z-20 border-b border-line bg-canvas/80 backdrop-blur-xl\"><nav class=\"mx-auto flex h-14 max-w-5xl items-center justify-between px-6\"><a href=\"/\" class=\"flex items-center gap-2.5\"><span class=\"text-accent\">")
48 if templ_7745c5c3_Err != nil {
49 return templ_7745c5c3_Err
50 }
51 templ_7745c5c3_Err = gitLogo("size-5").Render(ctx, templ_7745c5c3_Buffer)
52 if templ_7745c5c3_Err != nil {
53 return templ_7745c5c3_Err
54 }
55 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "</span> <span class=\"font-mono font-semibold tracking-tight text-ink\">gitgud</span></a><div class=\"flex items-center gap-4 text-sm\">")
56 if templ_7745c5c3_Err != nil {
57 return templ_7745c5c3_Err
58 }
59 if user != nil {
60 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "<a class=\"btn\" href=\"/new\">+ New</a><div class=\"flex items-center gap-2\">")
61 if templ_7745c5c3_Err != nil {
62 return templ_7745c5c3_Err
63 }
64 templ_7745c5c3_Err = avatar(user.Username, "size-6").Render(ctx, templ_7745c5c3_Buffer)
65 if templ_7745c5c3_Err != nil {
66 return templ_7745c5c3_Err
67 }
68 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<a class=\"link mono text-muted\" href=\"")
69 if templ_7745c5c3_Err != nil {
70 return templ_7745c5c3_Err
71 }
72 var templ_7745c5c3_Var3 templ.SafeURL = templ.SafeURL("/" + user.Username)
73 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var3)))
74 if templ_7745c5c3_Err != nil {
75 return templ_7745c5c3_Err
76 }
77 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "\">")
78 if templ_7745c5c3_Err != nil {
79 return templ_7745c5c3_Err
80 }
81 var templ_7745c5c3_Var4 string
82 templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(user.Username)
83 if templ_7745c5c3_Err != nil {
84 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/layout.templ`, Line: 111, Col: 99}
85 }
86 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
87 if templ_7745c5c3_Err != nil {
88 return templ_7745c5c3_Err
89 }
90 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "</a></div><form method=\"post\" action=\"/logout\">")
91 if templ_7745c5c3_Err != nil {
92 return templ_7745c5c3_Err
93 }
94 templ_7745c5c3_Err = csrfField().Render(ctx, templ_7745c5c3_Buffer)
95 if templ_7745c5c3_Err != nil {
96 return templ_7745c5c3_Err
97 }
98 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<button class=\"text-muted transition hover:text-ink\" type=\"submit\">Sign out</button></form>")
99 if templ_7745c5c3_Err != nil {
100 return templ_7745c5c3_Err
101 }
102 } else {
103 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "<a class=\"text-muted transition hover:text-ink\" href=\"/login\">Sign in</a> <a class=\"btn btn-primary\" href=\"/register\">Register</a>")
104 if templ_7745c5c3_Err != nil {
105 return templ_7745c5c3_Err
106 }
107 }
108 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</div></nav></header>")
109 if templ_7745c5c3_Err != nil {
110 return templ_7745c5c3_Err
111 }
112 if flashOf(ctx) != "" {
113 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "<div class=\"mx-auto max-w-5xl px-6 pt-4\"><div class=\"card flex items-center gap-2 border-accent/30 bg-accent/10 px-4 py-2.5 text-sm text-ink\"><span class=\"size-1.5 rounded-full bg-accent\"></span> ")
114 if templ_7745c5c3_Err != nil {
115 return templ_7745c5c3_Err
116 }
117 var templ_7745c5c3_Var5 string
118 templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(flashOf(ctx))
119 if templ_7745c5c3_Err != nil {
120 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/layout.templ`, Line: 128, Col: 20}
121 }
122 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
123 if templ_7745c5c3_Err != nil {
124 return templ_7745c5c3_Err
125 }
126 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</div></div>")
127 if templ_7745c5c3_Err != nil {
128 return templ_7745c5c3_Err
129 }
130 }
131 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<main class=\"relative z-10 mx-auto max-w-5xl px-6 py-8\">")
132 if templ_7745c5c3_Err != nil {
133 return templ_7745c5c3_Err
134 }
135 templ_7745c5c3_Err = templ_7745c5c3_Var1.Render(ctx, templ_7745c5c3_Buffer)
136 if templ_7745c5c3_Err != nil {
137 return templ_7745c5c3_Err
138 }
139 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</main></body></html>")
140 if templ_7745c5c3_Err != nil {
141 return templ_7745c5c3_Err
142 }
143 return nil
144 })
145}
146
147func csrfField() templ.Component {
148 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
149 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
150 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
151 return templ_7745c5c3_CtxErr
152 }
153 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
154 if !templ_7745c5c3_IsBuffer {
155 defer func() {
156 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
157 if templ_7745c5c3_Err == nil {
158 templ_7745c5c3_Err = templ_7745c5c3_BufErr
159 }
160 }()
161 }
162 ctx = templ.InitializeContext(ctx)
163 templ_7745c5c3_Var6 := templ.GetChildren(ctx)
164 if templ_7745c5c3_Var6 == nil {
165 templ_7745c5c3_Var6 = templ.NopComponent
166 }
167 ctx = templ.ClearChildren(ctx)
168 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<input type=\"hidden\" name=\"csrf_token\" value=\"")
169 if templ_7745c5c3_Err != nil {
170 return templ_7745c5c3_Err
171 }
172 var templ_7745c5c3_Var7 string
173 templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(csrfToken(ctx))
174 if templ_7745c5c3_Err != nil {
175 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/layout.templ`, Line: 140, Col: 62}
176 }
177 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
178 if templ_7745c5c3_Err != nil {
179 return templ_7745c5c3_Err
180 }
181 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\">")
182 if templ_7745c5c3_Err != nil {
183 return templ_7745c5c3_Err
184 }
185 return nil
186 })
187}
188
189// gitLogo renders the gitgud branch-network mark. Color is inherited via currentColor.
190func gitLogo(class string) templ.Component {
191 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
192 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
193 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
194 return templ_7745c5c3_CtxErr
195 }
196 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
197 if !templ_7745c5c3_IsBuffer {
198 defer func() {
199 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
200 if templ_7745c5c3_Err == nil {
201 templ_7745c5c3_Err = templ_7745c5c3_BufErr
202 }
203 }()
204 }
205 ctx = templ.InitializeContext(ctx)
206 templ_7745c5c3_Var8 := templ.GetChildren(ctx)
207 if templ_7745c5c3_Var8 == nil {
208 templ_7745c5c3_Var8 = templ.NopComponent
209 }
210 ctx = templ.ClearChildren(ctx)
211 var templ_7745c5c3_Var9 = []any{class}
212 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var9...)
213 if templ_7745c5c3_Err != nil {
214 return templ_7745c5c3_Err
215 }
216 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "<svg class=\"")
217 if templ_7745c5c3_Err != nil {
218 return templ_7745c5c3_Err
219 }
220 var templ_7745c5c3_Var10 string
221 templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var9).String())
222 if templ_7745c5c3_Err != nil {
223 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/layout.templ`, Line: 1, Col: 0}
224 }
225 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
226 if templ_7745c5c3_Err != nil {
227 return templ_7745c5c3_Err
228 }
229 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><circle cx=\"6\" cy=\"5.5\" r=\"2.5\"></circle> <circle cx=\"6\" cy=\"18.5\" r=\"2.5\"></circle> <circle cx=\"18\" cy=\"12\" r=\"2.5\"></circle> <path d=\"M6 8v8\"></path> <path d=\"M6 12h6.5a3 3 0 0 0 3-3V9.5\"></path></svg>")
230 if templ_7745c5c3_Err != nil {
231 return templ_7745c5c3_Err
232 }
233 return nil
234 })
235}
236
237// avatar renders a deterministic gradient avatar with the user's initial.
238func avatar(name, class string) templ.Component {
239 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
240 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
241 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
242 return templ_7745c5c3_CtxErr
243 }
244 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
245 if !templ_7745c5c3_IsBuffer {
246 defer func() {
247 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
248 if templ_7745c5c3_Err == nil {
249 templ_7745c5c3_Err = templ_7745c5c3_BufErr
250 }
251 }()
252 }
253 ctx = templ.InitializeContext(ctx)
254 templ_7745c5c3_Var11 := templ.GetChildren(ctx)
255 if templ_7745c5c3_Var11 == nil {
256 templ_7745c5c3_Var11 = templ.NopComponent
257 }
258 ctx = templ.ClearChildren(ctx)
259 var templ_7745c5c3_Var12 = []any{"inline-flex shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-[#2a2a2a] to-[#0e0e0e] font-semibold text-ink ring-1 ring-line2", class}
260 templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var12...)
261 if templ_7745c5c3_Err != nil {
262 return templ_7745c5c3_Err
263 }
264 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<span class=\"")
265 if templ_7745c5c3_Err != nil {
266 return templ_7745c5c3_Err
267 }
268 var templ_7745c5c3_Var13 string
269 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var12).String())
270 if templ_7745c5c3_Err != nil {
271 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/layout.templ`, Line: 1, Col: 0}
272 }
273 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
274 if templ_7745c5c3_Err != nil {
275 return templ_7745c5c3_Err
276 }
277 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\" style=\"font-size:.62em\">")
278 if templ_7745c5c3_Err != nil {
279 return templ_7745c5c3_Err
280 }
281 var templ_7745c5c3_Var14 string
282 templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(initial(name))
283 if templ_7745c5c3_Err != nil {
284 return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/interface/web/templates/layout.templ`, Line: 159, Col: 17}
285 }
286 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
287 if templ_7745c5c3_Err != nil {
288 return templ_7745c5c3_Err
289 }
290 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</span>")
291 if templ_7745c5c3_Err != nil {
292 return templ_7745c5c3_Err
293 }
294 return nil
295 })
296}
297
298var _ = templruntime.GeneratedTemplate