1// Code generated by templ - DO NOT EDIT.
2
3package systemviews
4
5//lint:file-ignore SA4006 This context is only used if a nested component is present.
6
7import "github.com/a-h/templ"
8import templruntime "github.com/a-h/templ/runtime"
9
10import (
11 "github.com/bnema/dumber/internal/application/dto"
12 "github.com/bnema/dumber/internal/application/port"
13)
14
15func ConfigView(data configRenderData) templ.Component {
16 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
17 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
18 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
19 return templ_7745c5c3_CtxErr
20 }
21 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
22 if !templ_7745c5c3_IsBuffer {
23 defer func() {
24 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
25 if templ_7745c5c3_Err == nil {
26 templ_7745c5c3_Err = templ_7745c5c3_BufErr
27 }
28 }()
29 }
30 ctx = templ.InitializeContext(ctx)
31 templ_7745c5c3_Var1 := templ.GetChildren(ctx)
32 if templ_7745c5c3_Var1 == nil {
33 templ_7745c5c3_Var1 = templ.NopComponent
34 }
35 ctx = templ.ClearChildren(ctx)
36 templ_7745c5c3_Err = Alert("success", data.Notice).Render(ctx, templ_7745c5c3_Buffer)
37 if templ_7745c5c3_Err != nil {
38 return templ_7745c5c3_Err
39 }
40 templ_7745c5c3_Err = Alert("error", data.Error).Render(ctx, templ_7745c5c3_Buffer)
41 if templ_7745c5c3_Err != nil {
42 return templ_7745c5c3_Err
43 }
44 templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
45 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
46 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
47 if !templ_7745c5c3_IsBuffer {
48 defer func() {
49 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
50 if templ_7745c5c3_Err == nil {
51 templ_7745c5c3_Err = templ_7745c5c3_BufErr
52 }
53 }()
54 }
55 ctx = templ.InitializeContext(ctx)
56 templ_7745c5c3_Err = AppearanceForm(data.Config).Render(ctx, templ_7745c5c3_Buffer)
57 if templ_7745c5c3_Err != nil {
58 return templ_7745c5c3_Err
59 }
60 return nil
61 })
62 templ_7745c5c3_Err = Section("sv-config-appearance", "Appearance").Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
63 if templ_7745c5c3_Err != nil {
64 return templ_7745c5c3_Err
65 }
66 templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
67 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
68 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
69 if !templ_7745c5c3_IsBuffer {
70 defer func() {
71 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
72 if templ_7745c5c3_Err == nil {
73 templ_7745c5c3_Err = templ_7745c5c3_BufErr
74 }
75 }()
76 }
77 ctx = templ.InitializeContext(ctx)
78 templ_7745c5c3_Err = SearchSettings(data.Config).Render(ctx, templ_7745c5c3_Buffer)
79 if templ_7745c5c3_Err != nil {
80 return templ_7745c5c3_Err
81 }
82 return nil
83 })
84 templ_7745c5c3_Err = Section("sv-config-search", "Search").Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer)
85 if templ_7745c5c3_Err != nil {
86 return templ_7745c5c3_Err
87 }
88 templ_7745c5c3_Var4 := 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 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
91 if !templ_7745c5c3_IsBuffer {
92 defer func() {
93 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
94 if templ_7745c5c3_Err == nil {
95 templ_7745c5c3_Err = templ_7745c5c3_BufErr
96 }
97 }()
98 }
99 ctx = templ.InitializeContext(ctx)
100 templ_7745c5c3_Err = PerformanceSettings(data.Config).Render(ctx, templ_7745c5c3_Buffer)
101 if templ_7745c5c3_Err != nil {
102 return templ_7745c5c3_Err
103 }
104 return nil
105 })
106 templ_7745c5c3_Err = Section("sv-config-performance", "Performance").Render(templ.WithChildren(ctx, templ_7745c5c3_Var4), templ_7745c5c3_Buffer)
107 if templ_7745c5c3_Err != nil {
108 return templ_7745c5c3_Err
109 }
110 templ_7745c5c3_Var5 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
111 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
112 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
113 if !templ_7745c5c3_IsBuffer {
114 defer func() {
115 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
116 if templ_7745c5c3_Err == nil {
117 templ_7745c5c3_Err = templ_7745c5c3_BufErr
118 }
119 }()
120 }
121 ctx = templ.InitializeContext(ctx)
122 templ_7745c5c3_Err = Meta(configKeybindingSummary(data.Keybindings)).Render(ctx, templ_7745c5c3_Buffer)
123 if templ_7745c5c3_Err != nil {
124 return templ_7745c5c3_Err
125 }
126 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, " ")
127 if templ_7745c5c3_Err != nil {
128 return templ_7745c5c3_Err
129 }
130 templ_7745c5c3_Err = ConfigKeybindings(data.Keybindings).Render(ctx, templ_7745c5c3_Buffer)
131 if templ_7745c5c3_Err != nil {
132 return templ_7745c5c3_Err
133 }
134 return nil
135 })
136 templ_7745c5c3_Err = Section("sv-config-keybindings", "Keybindings").Render(templ.WithChildren(ctx, templ_7745c5c3_Var5), templ_7745c5c3_Buffer)
137 if templ_7745c5c3_Err != nil {
138 return templ_7745c5c3_Err
139 }
140 templ_7745c5c3_Var6 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
141 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
142 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
143 if !templ_7745c5c3_IsBuffer {
144 defer func() {
145 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
146 if templ_7745c5c3_Err == nil {
147 templ_7745c5c3_Err = templ_7745c5c3_BufErr
148 }
149 }()
150 }
151 ctx = templ.InitializeContext(ctx)
152 templ_7745c5c3_Err = KV(flattenValues(data.Config)).Render(ctx, templ_7745c5c3_Buffer)
153 if templ_7745c5c3_Err != nil {
154 return templ_7745c5c3_Err
155 }
156 return nil
157 })
158 templ_7745c5c3_Err = Section("sv-config-values", "Current payload").Render(templ.WithChildren(ctx, templ_7745c5c3_Var6), templ_7745c5c3_Buffer)
159 if templ_7745c5c3_Err != nil {
160 return templ_7745c5c3_Err
161 }
162 return nil
163 })
164}
165
166func AppearanceForm(config dto.SystemviewConfigPayload) templ.Component {
167 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
168 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
169 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
170 return templ_7745c5c3_CtxErr
171 }
172 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
173 if !templ_7745c5c3_IsBuffer {
174 defer func() {
175 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
176 if templ_7745c5c3_Err == nil {
177 templ_7745c5c3_Err = templ_7745c5c3_BufErr
178 }
179 }()
180 }
181 ctx = templ.InitializeContext(ctx)
182 templ_7745c5c3_Var7 := templ.GetChildren(ctx)
183 if templ_7745c5c3_Var7 == nil {
184 templ_7745c5c3_Var7 = templ.NopComponent
185 }
186 ctx = templ.ClearChildren(ctx)
187 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "<form class=\"sv-card-form sv-config-form\" data-sv-action=\"config.appearance.save\"><label><span>Sans font</span><input name=\"sans_font\" type=\"text\" value=\"")
188 if templ_7745c5c3_Err != nil {
189 return templ_7745c5c3_Err
190 }
191 var templ_7745c5c3_Var8 string
192 templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.ResolveAttributeValue(config.Appearance.SansFont)
193 if templ_7745c5c3_Err != nil {
194 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 31, Col: 101}
195 }
196 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var8)
197 if templ_7745c5c3_Err != nil {
198 return templ_7745c5c3_Err
199 }
200 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "\" required></label> <label><span>Serif font</span><input name=\"serif_font\" type=\"text\" value=\"")
201 if templ_7745c5c3_Err != nil {
202 return templ_7745c5c3_Err
203 }
204 var templ_7745c5c3_Var9 string
205 templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.ResolveAttributeValue(config.Appearance.SerifFont)
206 if templ_7745c5c3_Err != nil {
207 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 32, Col: 104}
208 }
209 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var9)
210 if templ_7745c5c3_Err != nil {
211 return templ_7745c5c3_Err
212 }
213 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "\" required></label> <label><span>Monospace font</span><input name=\"monospace_font\" type=\"text\" value=\"")
214 if templ_7745c5c3_Err != nil {
215 return templ_7745c5c3_Err
216 }
217 var templ_7745c5c3_Var10 string
218 templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.ResolveAttributeValue(config.Appearance.MonospaceFont)
219 if templ_7745c5c3_Err != nil {
220 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 33, Col: 116}
221 }
222 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var10)
223 if templ_7745c5c3_Err != nil {
224 return templ_7745c5c3_Err
225 }
226 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "\" required></label> <label><span>GTK UI font</span><input name=\"gtk_font\" type=\"text\" value=\"")
227 if templ_7745c5c3_Err != nil {
228 return templ_7745c5c3_Err
229 }
230 var templ_7745c5c3_Var11 string
231 templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.ResolveAttributeValue(config.Appearance.GtkFont)
232 if templ_7745c5c3_Err != nil {
233 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 34, Col: 101}
234 }
235 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var11)
236 if templ_7745c5c3_Err != nil {
237 return templ_7745c5c3_Err
238 }
239 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "\" required></label> <label><span>Default font size</span><input name=\"default_font_size\" type=\"number\" min=\"1\" max=\"72\" value=\"")
240 if templ_7745c5c3_Err != nil {
241 return templ_7745c5c3_Err
242 }
243 var templ_7745c5c3_Var12 string
244 templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.ResolveAttributeValue(formatConfigInt(config.Appearance.DefaultFontSize))
245 if templ_7745c5c3_Err != nil {
246 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 35, Col: 160}
247 }
248 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var12)
249 if templ_7745c5c3_Err != nil {
250 return templ_7745c5c3_Err
251 }
252 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "\" required></label> <label><span>UI scale</span><input name=\"default_ui_scale\" type=\"number\" min=\"0.5\" max=\"3\" step=\"0.05\" value=\"")
253 if templ_7745c5c3_Err != nil {
254 return templ_7745c5c3_Err
255 }
256 var templ_7745c5c3_Var13 string
257 templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.ResolveAttributeValue(formatConfigFloat(config.DefaultUIScale))
258 if templ_7745c5c3_Err != nil {
259 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 36, Col: 153}
260 }
261 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var13)
262 if templ_7745c5c3_Err != nil {
263 return templ_7745c5c3_Err
264 }
265 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "\" required></label> <label><span>Color scheme</span><select name=\"color_scheme\"><option value=\"default\"")
266 if templ_7745c5c3_Err != nil {
267 return templ_7745c5c3_Err
268 }
269 if colorSchemeSelected(config.Appearance.ColorScheme, "default") {
270 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, " selected")
271 if templ_7745c5c3_Err != nil {
272 return templ_7745c5c3_Err
273 }
274 }
275 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, ">System default</option> <option value=\"prefer-light\"")
276 if templ_7745c5c3_Err != nil {
277 return templ_7745c5c3_Err
278 }
279 if colorSchemeSelected(config.Appearance.ColorScheme, "prefer-light") {
280 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, " selected")
281 if templ_7745c5c3_Err != nil {
282 return templ_7745c5c3_Err
283 }
284 }
285 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, ">Prefer light</option> <option value=\"prefer-dark\"")
286 if templ_7745c5c3_Err != nil {
287 return templ_7745c5c3_Err
288 }
289 if colorSchemeSelected(config.Appearance.ColorScheme, "prefer-dark") {
290 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, " selected")
291 if templ_7745c5c3_Err != nil {
292 return templ_7745c5c3_Err
293 }
294 }
295 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, ">Prefer dark</option></select></label>")
296 if templ_7745c5c3_Err != nil {
297 return templ_7745c5c3_Err
298 }
299 templ_7745c5c3_Err = PaletteFields("Light palette", "light", config.Appearance.LightPalette).Render(ctx, templ_7745c5c3_Buffer)
300 if templ_7745c5c3_Err != nil {
301 return templ_7745c5c3_Err
302 }
303 templ_7745c5c3_Err = PaletteFields("Dark palette", "dark", config.Appearance.DarkPalette).Render(ctx, templ_7745c5c3_Buffer)
304 if templ_7745c5c3_Err != nil {
305 return templ_7745c5c3_Err
306 }
307 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<div class=\"sv-button-row sv-form-actions\"><button class=\"sv-button\" type=\"submit\">")
308 if templ_7745c5c3_Err != nil {
309 return templ_7745c5c3_Err
310 }
311 templ_7745c5c3_Err = ButtonIconLabel(iconSave, "Save appearance").Render(ctx, templ_7745c5c3_Buffer)
312 if templ_7745c5c3_Err != nil {
313 return templ_7745c5c3_Err
314 }
315 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "</button> <button class=\"sv-button sv-button-secondary\" type=\"button\" data-sv-action=\"config.appearance.reset\" data-sv-confirm=\"Reset appearance settings to defaults?\">")
316 if templ_7745c5c3_Err != nil {
317 return templ_7745c5c3_Err
318 }
319 templ_7745c5c3_Err = ButtonIconLabel(iconRotateCCW, "Reset appearance").Render(ctx, templ_7745c5c3_Buffer)
320 if templ_7745c5c3_Err != nil {
321 return templ_7745c5c3_Err
322 }
323 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</button></div></form>")
324 if templ_7745c5c3_Err != nil {
325 return templ_7745c5c3_Err
326 }
327 return nil
328 })
329}
330
331func PaletteFields(title string, prefix string, palette dto.ColorPalette) templ.Component {
332 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
333 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
334 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
335 return templ_7745c5c3_CtxErr
336 }
337 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
338 if !templ_7745c5c3_IsBuffer {
339 defer func() {
340 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
341 if templ_7745c5c3_Err == nil {
342 templ_7745c5c3_Err = templ_7745c5c3_BufErr
343 }
344 }()
345 }
346 ctx = templ.InitializeContext(ctx)
347 templ_7745c5c3_Var14 := templ.GetChildren(ctx)
348 if templ_7745c5c3_Var14 == nil {
349 templ_7745c5c3_Var14 = templ.NopComponent
350 }
351 ctx = templ.ClearChildren(ctx)
352 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<fieldset class=\"sv-fieldset\"><legend>")
353 if templ_7745c5c3_Err != nil {
354 return templ_7745c5c3_Err
355 }
356 var templ_7745c5c3_Var15 string
357 templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(title)
358 if templ_7745c5c3_Err != nil {
359 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 53, Col: 17}
360 }
361 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
362 if templ_7745c5c3_Err != nil {
363 return templ_7745c5c3_Err
364 }
365 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</legend> <label><span>Background</span><input name=\"")
366 if templ_7745c5c3_Err != nil {
367 return templ_7745c5c3_Err
368 }
369 var templ_7745c5c3_Var16 string
370 templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue(prefix + "_background")
371 if templ_7745c5c3_Err != nil {
372 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 54, Col: 68}
373 }
374 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16)
375 if templ_7745c5c3_Err != nil {
376 return templ_7745c5c3_Err
377 }
378 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\" type=\"text\" value=\"")
379 if templ_7745c5c3_Err != nil {
380 return templ_7745c5c3_Err
381 }
382 var templ_7745c5c3_Var17 string
383 templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.ResolveAttributeValue(palette.Background)
384 if templ_7745c5c3_Err != nil {
385 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 54, Col: 109}
386 }
387 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17)
388 if templ_7745c5c3_Err != nil {
389 return templ_7745c5c3_Err
390 }
391 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "\" required></label> <label><span>Surface</span><input name=\"")
392 if templ_7745c5c3_Err != nil {
393 return templ_7745c5c3_Err
394 }
395 var templ_7745c5c3_Var18 string
396 templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.ResolveAttributeValue(prefix + "_surface")
397 if templ_7745c5c3_Err != nil {
398 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 55, Col: 62}
399 }
400 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var18)
401 if templ_7745c5c3_Err != nil {
402 return templ_7745c5c3_Err
403 }
404 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\" type=\"text\" value=\"")
405 if templ_7745c5c3_Err != nil {
406 return templ_7745c5c3_Err
407 }
408 var templ_7745c5c3_Var19 string
409 templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.ResolveAttributeValue(palette.Surface)
410 if templ_7745c5c3_Err != nil {
411 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 55, Col: 100}
412 }
413 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var19)
414 if templ_7745c5c3_Err != nil {
415 return templ_7745c5c3_Err
416 }
417 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "\" required></label> <label><span>Surface variant</span><input name=\"")
418 if templ_7745c5c3_Err != nil {
419 return templ_7745c5c3_Err
420 }
421 var templ_7745c5c3_Var20 string
422 templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.ResolveAttributeValue(prefix + "_surface_variant")
423 if templ_7745c5c3_Err != nil {
424 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 56, Col: 78}
425 }
426 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var20)
427 if templ_7745c5c3_Err != nil {
428 return templ_7745c5c3_Err
429 }
430 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "\" type=\"text\" value=\"")
431 if templ_7745c5c3_Err != nil {
432 return templ_7745c5c3_Err
433 }
434 var templ_7745c5c3_Var21 string
435 templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.ResolveAttributeValue(palette.SurfaceVariant)
436 if templ_7745c5c3_Err != nil {
437 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 56, Col: 123}
438 }
439 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var21)
440 if templ_7745c5c3_Err != nil {
441 return templ_7745c5c3_Err
442 }
443 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "\" required></label> <label><span>Text</span><input name=\"")
444 if templ_7745c5c3_Err != nil {
445 return templ_7745c5c3_Err
446 }
447 var templ_7745c5c3_Var22 string
448 templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.ResolveAttributeValue(prefix + "_text")
449 if templ_7745c5c3_Err != nil {
450 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 57, Col: 56}
451 }
452 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var22)
453 if templ_7745c5c3_Err != nil {
454 return templ_7745c5c3_Err
455 }
456 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "\" type=\"text\" value=\"")
457 if templ_7745c5c3_Err != nil {
458 return templ_7745c5c3_Err
459 }
460 var templ_7745c5c3_Var23 string
461 templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.ResolveAttributeValue(palette.Text)
462 if templ_7745c5c3_Err != nil {
463 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 57, Col: 91}
464 }
465 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var23)
466 if templ_7745c5c3_Err != nil {
467 return templ_7745c5c3_Err
468 }
469 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "\" required></label> <label><span>Muted</span><input name=\"")
470 if templ_7745c5c3_Err != nil {
471 return templ_7745c5c3_Err
472 }
473 var templ_7745c5c3_Var24 string
474 templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.ResolveAttributeValue(prefix + "_muted")
475 if templ_7745c5c3_Err != nil {
476 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 58, Col: 58}
477 }
478 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var24)
479 if templ_7745c5c3_Err != nil {
480 return templ_7745c5c3_Err
481 }
482 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\" type=\"text\" value=\"")
483 if templ_7745c5c3_Err != nil {
484 return templ_7745c5c3_Err
485 }
486 var templ_7745c5c3_Var25 string
487 templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.ResolveAttributeValue(palette.Muted)
488 if templ_7745c5c3_Err != nil {
489 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 58, Col: 94}
490 }
491 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var25)
492 if templ_7745c5c3_Err != nil {
493 return templ_7745c5c3_Err
494 }
495 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "\" required></label> <label><span>Accent</span><input name=\"")
496 if templ_7745c5c3_Err != nil {
497 return templ_7745c5c3_Err
498 }
499 var templ_7745c5c3_Var26 string
500 templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.ResolveAttributeValue(prefix + "_accent")
501 if templ_7745c5c3_Err != nil {
502 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 59, Col: 60}
503 }
504 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var26)
505 if templ_7745c5c3_Err != nil {
506 return templ_7745c5c3_Err
507 }
508 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "\" type=\"text\" value=\"")
509 if templ_7745c5c3_Err != nil {
510 return templ_7745c5c3_Err
511 }
512 var templ_7745c5c3_Var27 string
513 templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.ResolveAttributeValue(palette.Accent)
514 if templ_7745c5c3_Err != nil {
515 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 59, Col: 97}
516 }
517 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var27)
518 if templ_7745c5c3_Err != nil {
519 return templ_7745c5c3_Err
520 }
521 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\" required></label> <label><span>Border</span><input name=\"")
522 if templ_7745c5c3_Err != nil {
523 return templ_7745c5c3_Err
524 }
525 var templ_7745c5c3_Var28 string
526 templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.ResolveAttributeValue(prefix + "_border")
527 if templ_7745c5c3_Err != nil {
528 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 60, Col: 60}
529 }
530 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var28)
531 if templ_7745c5c3_Err != nil {
532 return templ_7745c5c3_Err
533 }
534 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\" type=\"text\" value=\"")
535 if templ_7745c5c3_Err != nil {
536 return templ_7745c5c3_Err
537 }
538 var templ_7745c5c3_Var29 string
539 templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.ResolveAttributeValue(palette.Border)
540 if templ_7745c5c3_Err != nil {
541 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 60, Col: 97}
542 }
543 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var29)
544 if templ_7745c5c3_Err != nil {
545 return templ_7745c5c3_Err
546 }
547 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\" required></label></fieldset>")
548 if templ_7745c5c3_Err != nil {
549 return templ_7745c5c3_Err
550 }
551 return nil
552 })
553}
554
555func SearchSettings(config dto.SystemviewConfigPayload) templ.Component {
556 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
557 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
558 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
559 return templ_7745c5c3_CtxErr
560 }
561 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
562 if !templ_7745c5c3_IsBuffer {
563 defer func() {
564 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
565 if templ_7745c5c3_Err == nil {
566 templ_7745c5c3_Err = templ_7745c5c3_BufErr
567 }
568 }()
569 }
570 ctx = templ.InitializeContext(ctx)
571 templ_7745c5c3_Var30 := templ.GetChildren(ctx)
572 if templ_7745c5c3_Var30 == nil {
573 templ_7745c5c3_Var30 = templ.NopComponent
574 }
575 ctx = templ.ClearChildren(ctx)
576 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "<form class=\"sv-card-form\" data-sv-action=\"config.search.save\"><label><span>Default search engine</span><input name=\"default_search_engine\" type=\"text\" value=\"")
577 if templ_7745c5c3_Err != nil {
578 return templ_7745c5c3_Err
579 }
580 var templ_7745c5c3_Var31 string
581 templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.ResolveAttributeValue(config.DefaultSearchEngine)
582 if templ_7745c5c3_Err != nil {
583 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 66, Col: 125}
584 }
585 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31)
586 if templ_7745c5c3_Err != nil {
587 return templ_7745c5c3_Err
588 }
589 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "\" placeholder=\"https://duckduckgo.com/?q=%s\" required></label> <button class=\"sv-button\" type=\"submit\">")
590 if templ_7745c5c3_Err != nil {
591 return templ_7745c5c3_Err
592 }
593 templ_7745c5c3_Err = ButtonIconLabel(iconSave, "Save search default").Render(ctx, templ_7745c5c3_Buffer)
594 if templ_7745c5c3_Err != nil {
595 return templ_7745c5c3_Err
596 }
597 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</button></form><div class=\"sv-group\"><div class=\"sv-group-header\"><h4>Search shortcuts</h4></div><p class=\"sv-meta\">Shortcut URLs must include the %s placeholder for the search query.</p><form class=\"sv-inline-form\" data-sv-action=\"config.searchShortcut.create\"><label><span>Key</span><input name=\"key\" type=\"text\" placeholder=\"ddg\" required></label> <label><span>URL</span><input name=\"url\" type=\"text\" placeholder=\"https://duckduckgo.com/?q=%s\" pattern=\".*%s.*\" required></label> <label><span>Description</span><input name=\"description\" type=\"text\" placeholder=\"DuckDuckGo\"></label> <button class=\"sv-button sv-button-secondary\" type=\"submit\">")
598 if templ_7745c5c3_Err != nil {
599 return templ_7745c5c3_Err
600 }
601 templ_7745c5c3_Err = ButtonIconLabel(iconPlus, "Add shortcut").Render(ctx, templ_7745c5c3_Buffer)
602 if templ_7745c5c3_Err != nil {
603 return templ_7745c5c3_Err
604 }
605 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</button></form>")
606 if templ_7745c5c3_Err != nil {
607 return templ_7745c5c3_Err
608 }
609 shortcuts := searchShortcutRows(config.SearchShortcuts)
610 if len(shortcuts) == 0 {
611 templ_7745c5c3_Err = EmptyState("No search shortcuts configured").Render(ctx, templ_7745c5c3_Buffer)
612 if templ_7745c5c3_Err != nil {
613 return templ_7745c5c3_Err
614 }
615 } else {
616 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<ul class=\"sv-list\">")
617 if templ_7745c5c3_Err != nil {
618 return templ_7745c5c3_Err
619 }
620 for _, shortcut := range shortcuts {
621 templ_7745c5c3_Err = SearchShortcutItem(shortcut).Render(ctx, templ_7745c5c3_Buffer)
622 if templ_7745c5c3_Err != nil {
623 return templ_7745c5c3_Err
624 }
625 }
626 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "</ul>")
627 if templ_7745c5c3_Err != nil {
628 return templ_7745c5c3_Err
629 }
630 }
631 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</div>")
632 if templ_7745c5c3_Err != nil {
633 return templ_7745c5c3_Err
634 }
635 return nil
636 })
637}
638
639func SearchShortcutItem(shortcut searchShortcutRow) templ.Component {
640 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
641 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
642 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
643 return templ_7745c5c3_CtxErr
644 }
645 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
646 if !templ_7745c5c3_IsBuffer {
647 defer func() {
648 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
649 if templ_7745c5c3_Err == nil {
650 templ_7745c5c3_Err = templ_7745c5c3_BufErr
651 }
652 }()
653 }
654 ctx = templ.InitializeContext(ctx)
655 templ_7745c5c3_Var32 := templ.GetChildren(ctx)
656 if templ_7745c5c3_Var32 == nil {
657 templ_7745c5c3_Var32 = templ.NopComponent
658 }
659 ctx = templ.ClearChildren(ctx)
660 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<li class=\"sv-list-row\"><form class=\"sv-inline-form\" data-sv-action=\"config.searchShortcut.update\"><input type=\"hidden\" name=\"key\" value=\"")
661 if templ_7745c5c3_Err != nil {
662 return templ_7745c5c3_Err
663 }
664 var templ_7745c5c3_Var33 string
665 templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.ResolveAttributeValue(shortcut.Key)
666 if templ_7745c5c3_Err != nil {
667 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 94, Col: 55}
668 }
669 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var33)
670 if templ_7745c5c3_Err != nil {
671 return templ_7745c5c3_Err
672 }
673 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "\"> <label><span>Key</span><input name=\"new_key\" type=\"text\" value=\"")
674 if templ_7745c5c3_Err != nil {
675 return templ_7745c5c3_Err
676 }
677 var templ_7745c5c3_Var34 string
678 templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(shortcut.Key)
679 if templ_7745c5c3_Err != nil {
680 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 95, Col: 80}
681 }
682 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34)
683 if templ_7745c5c3_Err != nil {
684 return templ_7745c5c3_Err
685 }
686 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "\" required></label> <label><span>URL</span><input name=\"url\" type=\"text\" value=\"")
687 if templ_7745c5c3_Err != nil {
688 return templ_7745c5c3_Err
689 }
690 var templ_7745c5c3_Var35 string
691 templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.ResolveAttributeValue(shortcut.URL)
692 if templ_7745c5c3_Err != nil {
693 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 96, Col: 76}
694 }
695 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var35)
696 if templ_7745c5c3_Err != nil {
697 return templ_7745c5c3_Err
698 }
699 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "\" pattern=\".*%s.*\" required></label> <label><span>Description</span><input name=\"description\" type=\"text\" value=\"")
700 if templ_7745c5c3_Err != nil {
701 return templ_7745c5c3_Err
702 }
703 var templ_7745c5c3_Var36 string
704 templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.ResolveAttributeValue(shortcut.Description)
705 if templ_7745c5c3_Err != nil {
706 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 97, Col: 100}
707 }
708 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var36)
709 if templ_7745c5c3_Err != nil {
710 return templ_7745c5c3_Err
711 }
712 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "\"></label> <button class=\"sv-button sv-button-secondary\" type=\"submit\">")
713 if templ_7745c5c3_Err != nil {
714 return templ_7745c5c3_Err
715 }
716 templ_7745c5c3_Err = ButtonIconLabel(iconSave, "Save").Render(ctx, templ_7745c5c3_Buffer)
717 if templ_7745c5c3_Err != nil {
718 return templ_7745c5c3_Err
719 }
720 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</button> <button class=\"sv-button sv-button-secondary sv-button-danger sv-button-icon-only\" type=\"button\" data-sv-action=\"config.searchShortcut.delete\" data-key=\"")
721 if templ_7745c5c3_Err != nil {
722 return templ_7745c5c3_Err
723 }
724 var templ_7745c5c3_Var37 string
725 templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.ResolveAttributeValue(shortcut.Key)
726 if templ_7745c5c3_Err != nil {
727 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 99, Col: 169}
728 }
729 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var37)
730 if templ_7745c5c3_Err != nil {
731 return templ_7745c5c3_Err
732 }
733 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "\" data-sv-confirm=\"Delete this search shortcut?\" aria-label=\"")
734 if templ_7745c5c3_Err != nil {
735 return templ_7745c5c3_Err
736 }
737 var templ_7745c5c3_Var38 string
738 templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.ResolveAttributeValue("Delete search shortcut " + shortcut.Key)
739 if templ_7745c5c3_Err != nil {
740 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 99, Col: 272}
741 }
742 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var38)
743 if templ_7745c5c3_Err != nil {
744 return templ_7745c5c3_Err
745 }
746 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "\">")
747 if templ_7745c5c3_Err != nil {
748 return templ_7745c5c3_Err
749 }
750 templ_7745c5c3_Err = IconOnly(iconTrash, "Delete search shortcut "+shortcut.Key).Render(ctx, templ_7745c5c3_Buffer)
751 if templ_7745c5c3_Err != nil {
752 return templ_7745c5c3_Err
753 }
754 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</button></form></li>")
755 if templ_7745c5c3_Err != nil {
756 return templ_7745c5c3_Err
757 }
758 return nil
759 })
760}
761
762func PerformanceSettings(config dto.SystemviewConfigPayload) templ.Component {
763 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
764 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
765 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
766 return templ_7745c5c3_CtxErr
767 }
768 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
769 if !templ_7745c5c3_IsBuffer {
770 defer func() {
771 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
772 if templ_7745c5c3_Err == nil {
773 templ_7745c5c3_Err = templ_7745c5c3_BufErr
774 }
775 }()
776 }
777 ctx = templ.InitializeContext(ctx)
778 templ_7745c5c3_Var39 := templ.GetChildren(ctx)
779 if templ_7745c5c3_Var39 == nil {
780 templ_7745c5c3_Var39 = templ.NopComponent
781 }
782 ctx = templ.ClearChildren(ctx)
783 customProfile := performanceProfileSelected(config.Performance.Profile, "custom")
784 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "<form class=\"sv-card-form sv-config-form\" data-sv-action=\"config.performance.save\" data-sv-performance-form><label><span>Profile</span><select name=\"profile\" data-sv-performance-profile><option value=\"default\"")
785 if templ_7745c5c3_Err != nil {
786 return templ_7745c5c3_Err
787 }
788 if performanceProfileSelected(config.Performance.Profile, "default") {
789 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, " selected")
790 if templ_7745c5c3_Err != nil {
791 return templ_7745c5c3_Err
792 }
793 }
794 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, ">Default</option> <option value=\"balanced\"")
795 if templ_7745c5c3_Err != nil {
796 return templ_7745c5c3_Err
797 }
798 if performanceProfileSelected(config.Performance.Profile, "balanced") {
799 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, " selected")
800 if templ_7745c5c3_Err != nil {
801 return templ_7745c5c3_Err
802 }
803 }
804 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, ">Balanced</option> <option value=\"lite\"")
805 if templ_7745c5c3_Err != nil {
806 return templ_7745c5c3_Err
807 }
808 if performanceProfileSelected(config.Performance.Profile, "lite") {
809 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, " selected")
810 if templ_7745c5c3_Err != nil {
811 return templ_7745c5c3_Err
812 }
813 }
814 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, ">Lite</option> <option value=\"max\"")
815 if templ_7745c5c3_Err != nil {
816 return templ_7745c5c3_Err
817 }
818 if performanceProfileSelected(config.Performance.Profile, "max") {
819 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, " selected")
820 if templ_7745c5c3_Err != nil {
821 return templ_7745c5c3_Err
822 }
823 }
824 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, ">Max</option> <option value=\"custom\"")
825 if templ_7745c5c3_Err != nil {
826 return templ_7745c5c3_Err
827 }
828 if performanceProfileSelected(config.Performance.Profile, "custom") {
829 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, " selected")
830 if templ_7745c5c3_Err != nil {
831 return templ_7745c5c3_Err
832 }
833 }
834 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, ">Custom</option></select></label><p class=\"sv-meta\">Choose Custom to edit individual performance values.</p><label><span>Skia CPU threads</span><input name=\"skia_cpu_threads\" type=\"number\" min=\"0\" max=\"8\" value=\"")
835 if templ_7745c5c3_Err != nil {
836 return templ_7745c5c3_Err
837 }
838 var templ_7745c5c3_Var40 string
839 templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.ResolveAttributeValue(formatConfigInt(config.Performance.Custom.SkiaCPUThreads))
840 if templ_7745c5c3_Err != nil {
841 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 115, Col: 164}
842 }
843 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var40)
844 if templ_7745c5c3_Err != nil {
845 return templ_7745c5c3_Err
846 }
847 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "\"")
848 if templ_7745c5c3_Err != nil {
849 return templ_7745c5c3_Err
850 }
851 if !customProfile {
852 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, " disabled")
853 if templ_7745c5c3_Err != nil {
854 return templ_7745c5c3_Err
855 }
856 }
857 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, " data-sv-performance-custom></label> <label><span>Skia GPU threads</span><input name=\"skia_gpu_threads\" type=\"number\" min=\"-1\" max=\"8\" value=\"")
858 if templ_7745c5c3_Err != nil {
859 return templ_7745c5c3_Err
860 }
861 var templ_7745c5c3_Var41 string
862 templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.ResolveAttributeValue(formatConfigInt(config.Performance.Custom.SkiaGPUThreads))
863 if templ_7745c5c3_Err != nil {
864 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 116, Col: 165}
865 }
866 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var41)
867 if templ_7745c5c3_Err != nil {
868 return templ_7745c5c3_Err
869 }
870 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "\"")
871 if templ_7745c5c3_Err != nil {
872 return templ_7745c5c3_Err
873 }
874 if !customProfile {
875 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, " disabled")
876 if templ_7745c5c3_Err != nil {
877 return templ_7745c5c3_Err
878 }
879 }
880 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, " data-sv-performance-custom></label> <label><span>Web process memory MB</span><input name=\"web_process_memory_mb\" type=\"number\" min=\"0\" max=\"16384\" value=\"")
881 if templ_7745c5c3_Err != nil {
882 return templ_7745c5c3_Err
883 }
884 var templ_7745c5c3_Var42 string
885 templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.ResolveAttributeValue(formatConfigInt(config.Performance.Custom.WebProcessMemoryMB))
886 if templ_7745c5c3_Err != nil {
887 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 117, Col: 182}
888 }
889 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var42)
890 if templ_7745c5c3_Err != nil {
891 return templ_7745c5c3_Err
892 }
893 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\"")
894 if templ_7745c5c3_Err != nil {
895 return templ_7745c5c3_Err
896 }
897 if !customProfile {
898 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, " disabled")
899 if templ_7745c5c3_Err != nil {
900 return templ_7745c5c3_Err
901 }
902 }
903 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, " data-sv-performance-custom></label> <label><span>Network process memory MB</span><input name=\"network_process_memory_mb\" type=\"number\" min=\"0\" max=\"4096\" value=\"")
904 if templ_7745c5c3_Err != nil {
905 return templ_7745c5c3_Err
906 }
907 var templ_7745c5c3_Var43 string
908 templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.ResolveAttributeValue(formatConfigInt(config.Performance.Custom.NetworkProcessMemoryMB))
909 if templ_7745c5c3_Err != nil {
910 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 118, Col: 193}
911 }
912 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var43)
913 if templ_7745c5c3_Err != nil {
914 return templ_7745c5c3_Err
915 }
916 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "\"")
917 if templ_7745c5c3_Err != nil {
918 return templ_7745c5c3_Err
919 }
920 if !customProfile {
921 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, " disabled")
922 if templ_7745c5c3_Err != nil {
923 return templ_7745c5c3_Err
924 }
925 }
926 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, " data-sv-performance-custom></label> <label><span>WebView pool prewarm</span><input name=\"webview_pool_prewarm\" type=\"number\" min=\"0\" max=\"20\" value=\"")
927 if templ_7745c5c3_Err != nil {
928 return templ_7745c5c3_Err
929 }
930 var templ_7745c5c3_Var44 string
931 templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.ResolveAttributeValue(formatConfigInt(config.Performance.Custom.WebViewPoolPrewarm))
932 if templ_7745c5c3_Err != nil {
933 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 119, Col: 177}
934 }
935 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var44)
936 if templ_7745c5c3_Err != nil {
937 return templ_7745c5c3_Err
938 }
939 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "\"")
940 if templ_7745c5c3_Err != nil {
941 return templ_7745c5c3_Err
942 }
943 if !customProfile {
944 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, " disabled")
945 if templ_7745c5c3_Err != nil {
946 return templ_7745c5c3_Err
947 }
948 }
949 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, " data-sv-performance-custom></label> <button class=\"sv-button\" type=\"submit\">")
950 if templ_7745c5c3_Err != nil {
951 return templ_7745c5c3_Err
952 }
953 templ_7745c5c3_Err = ButtonIconLabel(iconSave, "Save performance").Render(ctx, templ_7745c5c3_Buffer)
954 if templ_7745c5c3_Err != nil {
955 return templ_7745c5c3_Err
956 }
957 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "</button></form><div class=\"sv-stat-grid\"><div class=\"sv-stat-card\"><span class=\"sv-stat-value\">")
958 if templ_7745c5c3_Err != nil {
959 return templ_7745c5c3_Err
960 }
961 var templ_7745c5c3_Var45 string
962 templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(formatConfigInt(config.Performance.Hardware.CPUThreads))
963 if templ_7745c5c3_Err != nil {
964 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 123, Col: 113}
965 }
966 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45))
967 if templ_7745c5c3_Err != nil {
968 return templ_7745c5c3_Err
969 }
970 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "</span><span class=\"sv-stat-label\">CPU threads</span></div><div class=\"sv-stat-card\"><span class=\"sv-stat-value\">")
971 if templ_7745c5c3_Err != nil {
972 return templ_7745c5c3_Err
973 }
974 var templ_7745c5c3_Var46 string
975 templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(formatConfigInt(config.Performance.Hardware.TotalRAMMB))
976 if templ_7745c5c3_Err != nil {
977 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 124, Col: 113}
978 }
979 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46))
980 if templ_7745c5c3_Err != nil {
981 return templ_7745c5c3_Err
982 }
983 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "</span><span class=\"sv-stat-label\">RAM MB</span></div><div class=\"sv-stat-card\"><span class=\"sv-stat-value\">")
984 if templ_7745c5c3_Err != nil {
985 return templ_7745c5c3_Err
986 }
987 var templ_7745c5c3_Var47 string
988 templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(config.Performance.Hardware.GPUName)
989 if templ_7745c5c3_Err != nil {
990 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 125, Col: 93}
991 }
992 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47))
993 if templ_7745c5c3_Err != nil {
994 return templ_7745c5c3_Err
995 }
996 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "</span><span class=\"sv-stat-label\">GPU</span></div><div class=\"sv-stat-card\"><span class=\"sv-stat-value\">")
997 if templ_7745c5c3_Err != nil {
998 return templ_7745c5c3_Err
999 }
1000 var templ_7745c5c3_Var48 string
1001 templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(config.EngineType)
1002 if templ_7745c5c3_Err != nil {
1003 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 126, Col: 75}
1004 }
1005 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48))
1006 if templ_7745c5c3_Err != nil {
1007 return templ_7745c5c3_Err
1008 }
1009 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "</span><span class=\"sv-stat-label\">Engine</span></div></div>")
1010 if templ_7745c5c3_Err != nil {
1011 return templ_7745c5c3_Err
1012 }
1013 if !engineIsWebKit(config.EngineType) {
1014 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "<p class=\"sv-meta\">Performance tuning applies only to the WebKit engine.</p>")
1015 if templ_7745c5c3_Err != nil {
1016 return templ_7745c5c3_Err
1017 }
1018 } else {
1019 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "<p class=\"sv-meta\">Performance profile changes may require restarting the browser to affect existing engine processes.</p>")
1020 if templ_7745c5c3_Err != nil {
1021 return templ_7745c5c3_Err
1022 }
1023 }
1024 return nil
1025 })
1026}
1027
1028func ConfigKeybindings(keybindings port.KeybindingsConfig) templ.Component {
1029 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1030 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1031 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1032 return templ_7745c5c3_CtxErr
1033 }
1034 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1035 if !templ_7745c5c3_IsBuffer {
1036 defer func() {
1037 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1038 if templ_7745c5c3_Err == nil {
1039 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1040 }
1041 }()
1042 }
1043 ctx = templ.InitializeContext(ctx)
1044 templ_7745c5c3_Var49 := templ.GetChildren(ctx)
1045 if templ_7745c5c3_Var49 == nil {
1046 templ_7745c5c3_Var49 = templ.NopComponent
1047 }
1048 ctx = templ.ClearChildren(ctx)
1049 groups := configKeybindingGroups(keybindings)
1050 if groups == nil {
1051 templ_7745c5c3_Err = EmptyState("Keybindings unavailable").Render(ctx, templ_7745c5c3_Buffer)
1052 if templ_7745c5c3_Err != nil {
1053 return templ_7745c5c3_Err
1054 }
1055 } else if len(groups) == 0 {
1056 templ_7745c5c3_Err = EmptyState("No keybindings configured").Render(ctx, templ_7745c5c3_Buffer)
1057 if templ_7745c5c3_Err != nil {
1058 return templ_7745c5c3_Err
1059 }
1060 } else {
1061 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "<div class=\"sv-button-row\"><button class=\"sv-button sv-button-secondary sv-button-danger\" type=\"button\" data-sv-action=\"config.keybinding.resetAll\" data-sv-confirm=\"Reset all keybindings to defaults?\">")
1062 if templ_7745c5c3_Err != nil {
1063 return templ_7745c5c3_Err
1064 }
1065 templ_7745c5c3_Err = ButtonIconLabel(iconRotateCCW, "Reset all keybindings").Render(ctx, templ_7745c5c3_Buffer)
1066 if templ_7745c5c3_Err != nil {
1067 return templ_7745c5c3_Err
1068 }
1069 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "</button></div>")
1070 if templ_7745c5c3_Err != nil {
1071 return templ_7745c5c3_Err
1072 }
1073 for _, group := range groups {
1074 templ_7745c5c3_Err = ConfigKeybindingGroup(group).Render(ctx, templ_7745c5c3_Buffer)
1075 if templ_7745c5c3_Err != nil {
1076 return templ_7745c5c3_Err
1077 }
1078 }
1079 }
1080 return nil
1081 })
1082}
1083
1084func ConfigKeybindingGroup(group renderedKeybindingGroup) templ.Component {
1085 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1086 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1087 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1088 return templ_7745c5c3_CtxErr
1089 }
1090 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1091 if !templ_7745c5c3_IsBuffer {
1092 defer func() {
1093 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1094 if templ_7745c5c3_Err == nil {
1095 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1096 }
1097 }()
1098 }
1099 ctx = templ.InitializeContext(ctx)
1100 templ_7745c5c3_Var50 := templ.GetChildren(ctx)
1101 if templ_7745c5c3_Var50 == nil {
1102 templ_7745c5c3_Var50 = templ.NopComponent
1103 }
1104 ctx = templ.ClearChildren(ctx)
1105 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "<div class=\"sv-group\"><div class=\"sv-group-header\"><div><h4>")
1106 if templ_7745c5c3_Err != nil {
1107 return templ_7745c5c3_Err
1108 }
1109 var templ_7745c5c3_Var51 string
1110 templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.JoinStringErrs(keybindingGroupTitle(group))
1111 if templ_7745c5c3_Err != nil {
1112 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 155, Col: 37}
1113 }
1114 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var51))
1115 if templ_7745c5c3_Err != nil {
1116 return templ_7745c5c3_Err
1117 }
1118 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "</h4>")
1119 if templ_7745c5c3_Err != nil {
1120 return templ_7745c5c3_Err
1121 }
1122 if keybindingGroupMeta(group) != "" {
1123 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "<p class=\"sv-meta\">")
1124 if templ_7745c5c3_Err != nil {
1125 return templ_7745c5c3_Err
1126 }
1127 var templ_7745c5c3_Var52 string
1128 templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(keybindingGroupMeta(group))
1129 if templ_7745c5c3_Err != nil {
1130 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 157, Col: 52}
1131 }
1132 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52))
1133 if templ_7745c5c3_Err != nil {
1134 return templ_7745c5c3_Err
1135 }
1136 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "</p>")
1137 if templ_7745c5c3_Err != nil {
1138 return templ_7745c5c3_Err
1139 }
1140 }
1141 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, "</div></div><div class=\"sv-group-body\">")
1142 if templ_7745c5c3_Err != nil {
1143 return templ_7745c5c3_Err
1144 }
1145 if len(group.Bindings) == 0 {
1146 templ_7745c5c3_Err = EmptyState("No bindings in this group").Render(ctx, templ_7745c5c3_Buffer)
1147 if templ_7745c5c3_Err != nil {
1148 return templ_7745c5c3_Err
1149 }
1150 } else {
1151 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, "<ul class=\"sv-list\">")
1152 if templ_7745c5c3_Err != nil {
1153 return templ_7745c5c3_Err
1154 }
1155 for _, binding := range group.Bindings {
1156 templ_7745c5c3_Err = ConfigKeybinding(group, binding).Render(ctx, templ_7745c5c3_Buffer)
1157 if templ_7745c5c3_Err != nil {
1158 return templ_7745c5c3_Err
1159 }
1160 }
1161 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, "</ul>")
1162 if templ_7745c5c3_Err != nil {
1163 return templ_7745c5c3_Err
1164 }
1165 }
1166 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, "</div></div>")
1167 if templ_7745c5c3_Err != nil {
1168 return templ_7745c5c3_Err
1169 }
1170 return nil
1171 })
1172}
1173
1174func ConfigKeybinding(group renderedKeybindingGroup, binding renderedKeybinding) templ.Component {
1175 return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
1176 templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
1177 if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
1178 return templ_7745c5c3_CtxErr
1179 }
1180 templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
1181 if !templ_7745c5c3_IsBuffer {
1182 defer func() {
1183 templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
1184 if templ_7745c5c3_Err == nil {
1185 templ_7745c5c3_Err = templ_7745c5c3_BufErr
1186 }
1187 }()
1188 }
1189 ctx = templ.InitializeContext(ctx)
1190 templ_7745c5c3_Var53 := templ.GetChildren(ctx)
1191 if templ_7745c5c3_Var53 == nil {
1192 templ_7745c5c3_Var53 = templ.NopComponent
1193 }
1194 ctx = templ.ClearChildren(ctx)
1195 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, "<li class=\"sv-list-row\"><div class=\"sv-keybinding-row\"><div><strong>")
1196 if templ_7745c5c3_Err != nil {
1197 return templ_7745c5c3_Err
1198 }
1199 var templ_7745c5c3_Var54 string
1200 templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.JoinStringErrs(keybindingDescription(binding))
1201 if templ_7745c5c3_Err != nil {
1202 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 179, Col: 44}
1203 }
1204 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var54))
1205 if templ_7745c5c3_Err != nil {
1206 return templ_7745c5c3_Err
1207 }
1208 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "</strong><p class=\"sv-meta\">")
1209 if templ_7745c5c3_Err != nil {
1210 return templ_7745c5c3_Err
1211 }
1212 var templ_7745c5c3_Var55 string
1213 templ_7745c5c3_Var55, templ_7745c5c3_Err = templ.JoinStringErrs(keybindingAction(binding))
1214 if templ_7745c5c3_Err != nil {
1215 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 180, Col: 50}
1216 }
1217 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var55))
1218 if templ_7745c5c3_Err != nil {
1219 return templ_7745c5c3_Err
1220 }
1221 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, "</p><div class=\"sv-binding-keys\">")
1222 if templ_7745c5c3_Err != nil {
1223 return templ_7745c5c3_Err
1224 }
1225 templ_7745c5c3_Err = KeyList(binding.Keys).Render(ctx, templ_7745c5c3_Buffer)
1226 if templ_7745c5c3_Err != nil {
1227 return templ_7745c5c3_Err
1228 }
1229 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, "<span class=\"sv-badge\">")
1230 if templ_7745c5c3_Err != nil {
1231 return templ_7745c5c3_Err
1232 }
1233 var templ_7745c5c3_Var56 string
1234 templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.JoinStringErrs(keybindingStatus(binding))
1235 if templ_7745c5c3_Err != nil {
1236 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 183, Col: 55}
1237 }
1238 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var56))
1239 if templ_7745c5c3_Err != nil {
1240 return templ_7745c5c3_Err
1241 }
1242 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "</span> ")
1243 if templ_7745c5c3_Err != nil {
1244 return templ_7745c5c3_Err
1245 }
1246 if keybindingIsCustom(binding) && len(binding.DefaultKeys) > 0 {
1247 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, "<span class=\"sv-meta\">default:</span>")
1248 if templ_7745c5c3_Err != nil {
1249 return templ_7745c5c3_Err
1250 }
1251 templ_7745c5c3_Err = KeyList(binding.DefaultKeys).Render(ctx, templ_7745c5c3_Buffer)
1252 if templ_7745c5c3_Err != nil {
1253 return templ_7745c5c3_Err
1254 }
1255 }
1256 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "</div></div><form class=\"sv-inline-form\" data-sv-action=\"config.keybinding.set\"><input type=\"hidden\" name=\"mode\" value=\"")
1257 if templ_7745c5c3_Err != nil {
1258 return templ_7745c5c3_Err
1259 }
1260 var templ_7745c5c3_Var57 string
1261 templ_7745c5c3_Var57, templ_7745c5c3_Err = templ.ResolveAttributeValue(group.Mode)
1262 if templ_7745c5c3_Err != nil {
1263 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 191, Col: 55}
1264 }
1265 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var57)
1266 if templ_7745c5c3_Err != nil {
1267 return templ_7745c5c3_Err
1268 }
1269 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "\"> <input type=\"hidden\" name=\"action\" value=\"")
1270 if templ_7745c5c3_Err != nil {
1271 return templ_7745c5c3_Err
1272 }
1273 var templ_7745c5c3_Var58 string
1274 templ_7745c5c3_Var58, templ_7745c5c3_Err = templ.ResolveAttributeValue(binding.Action)
1275 if templ_7745c5c3_Err != nil {
1276 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 192, Col: 61}
1277 }
1278 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var58)
1279 if templ_7745c5c3_Err != nil {
1280 return templ_7745c5c3_Err
1281 }
1282 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 101, "\"> <label><span>Keys</span><input name=\"keys\" type=\"text\" value=\"")
1283 if templ_7745c5c3_Err != nil {
1284 return templ_7745c5c3_Err
1285 }
1286 var templ_7745c5c3_Var59 string
1287 templ_7745c5c3_Var59, templ_7745c5c3_Err = templ.ResolveAttributeValue(keybindingKeysValue(binding.Keys))
1288 if templ_7745c5c3_Err != nil {
1289 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 193, Col: 100}
1290 }
1291 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var59)
1292 if templ_7745c5c3_Err != nil {
1293 return templ_7745c5c3_Err
1294 }
1295 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 102, "\" placeholder=\"ctrl+h, ctrl+shift+h\" required></label> <button class=\"sv-button sv-button-secondary\" type=\"submit\">")
1296 if templ_7745c5c3_Err != nil {
1297 return templ_7745c5c3_Err
1298 }
1299 templ_7745c5c3_Err = ButtonIconLabel(iconSave, "Save").Render(ctx, templ_7745c5c3_Buffer)
1300 if templ_7745c5c3_Err != nil {
1301 return templ_7745c5c3_Err
1302 }
1303 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 103, "</button> <button class=\"sv-button sv-button-secondary\" type=\"button\" data-sv-action=\"config.keybinding.reset\" data-mode=\"")
1304 if templ_7745c5c3_Err != nil {
1305 return templ_7745c5c3_Err
1306 }
1307 var templ_7745c5c3_Var60 string
1308 templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.ResolveAttributeValue(group.Mode)
1309 if templ_7745c5c3_Err != nil {
1310 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 195, Col: 127}
1311 }
1312 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var60)
1313 if templ_7745c5c3_Err != nil {
1314 return templ_7745c5c3_Err
1315 }
1316 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 104, "\" data-action=\"")
1317 if templ_7745c5c3_Err != nil {
1318 return templ_7745c5c3_Err
1319 }
1320 var templ_7745c5c3_Var61 string
1321 templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.ResolveAttributeValue(binding.Action)
1322 if templ_7745c5c3_Err != nil {
1323 return templ.Error{Err: templ_7745c5c3_Err, FileName: `config.templ`, Line: 195, Col: 158}
1324 }
1325 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var61)
1326 if templ_7745c5c3_Err != nil {
1327 return templ_7745c5c3_Err
1328 }
1329 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 105, "\">")
1330 if templ_7745c5c3_Err != nil {
1331 return templ_7745c5c3_Err
1332 }
1333 templ_7745c5c3_Err = ButtonIconLabel(iconRotateCCW, "Reset").Render(ctx, templ_7745c5c3_Buffer)
1334 if templ_7745c5c3_Err != nil {
1335 return templ_7745c5c3_Err
1336 }
1337 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 106, "</button></form></div></li>")
1338 if templ_7745c5c3_Err != nil {
1339 return templ_7745c5c3_Err
1340 }
1341 return nil
1342 })
1343}
1344
1345var _ = templruntime.GeneratedTemplate