fix(web): rail nits: no idle scroll bar on files, merge rule as a note, latest tag in About, wider commit subjects (#55)
- commit
- 8e01339264a048783f64b93f1dd183137258853b
- author
- brice · · 2026-10-18 06:07 UTC
- committer
- bnema · · 2026-10-18 06:07 UTC
- parent
- 032b9ef
- signature
- SSH Unverified
SHA256:VOCA5lYARHcbKDZ7GhTV45VmcjWnJ6ZQIBazj17LivAThe key is unknown
9 files · +473 -423
M internal/adapters/web/actions.templ +1 -1
| @@ -462,7 +462,7 @@ templ MRChecks(c ChecksSection) { | |||
| 462 | 462 | </ul> | |
| 463 | 463 | } | |
| 464 | 464 | if c.Note != "" { | |
| 465 | - | <p class="mute">{ c.Note }</p> | |
| 465 | + | <p class="rule-note"><span class="sr">note: </span>{ c.Note }</p> | |
| 466 | 466 | } | |
| 467 | 467 | </section> | |
| 468 | 468 | } | |
| @@ -462,7 +462,7 @@ templ MRChecks(c ChecksSection) { | |||||
| 462 | </ul> | 462 | </ul> | ||
| 463 | } | 463 | } | ||
| 464 | if c.Note != "" { | 464 | if c.Note != "" { | ||
| 465 | - | <p class="mute">{ c.Note }</p> | 465 | + | <p class="rule-note"><span class="sr">note: </span>{ c.Note }</p> |
| 466 | } | 466 | } | ||
| 467 | </section> | 467 | </section> | ||
| 468 | } | 468 | } | ||
M internal/adapters/web/actions_templ.go +2 -2 generated file: collapsed
M internal/adapters/web/pages.templ +27 -18
| @@ -54,28 +54,37 @@ templ Summary(l Layout, p SummaryPage) { | |||
| 54 | 54 | } | |
| 55 | 55 | } | |
| 56 | 56 | ||
| 57 | + | // latestTagFact is the "latest tag" row of About: the newest tag (its | |
| 58 | + | // commit subject on hover), how old it is, and the count of tags, a link to | |
| 59 | + | // all of them. With too many tags to date them, the count only. | |
| 60 | + | templ latestTagFact(t LatestTag) { | |
| 61 | + | <dt>latest tag</dt> | |
| 62 | + | <dd class="latest-tag"> | |
| 63 | + | if t.Name != "" { | |
| 64 | + | <a class="tag-name" href={ templ.SafeURL(t.Href) } title={ t.Subject }><span class="ico i-tag" aria-hidden="true"></span>{ t.Name }</a> | |
| 65 | + | if t.WhenAt != "" { | |
| 66 | + | <time class="dim" datetime={ t.WhenAt } title={ t.WhenAt }>{ t.When }</time> | |
| 67 | + | } | |
| 68 | + | } | |
| 69 | + | <a class="all-tags" href={ templ.SafeURL(t.RefsHref) }>{ plural(t.Count, "tag", "tags") }</a> | |
| 70 | + | </dd> | |
| 71 | + | } | |
| 72 | + | ||
| 57 | 73 | templ summaryRail(p SummaryPage) { | |
| 58 | 74 | <section aria-labelledby="r-clone"><h2 id="r-clone">Clone</h2>@CloneBlock(p.Clone) | |
| 59 | 75 | </section> | |
| 60 | - | <section aria-labelledby="r-facts"><h2 id="r-facts">About</h2>@Facts(p.Facts) | |
| 61 | - | </section> | |
| 62 | - | if p.Latest != nil { | |
| 63 | - | <section aria-labelledby="r-tag"> | |
| 64 | - | <h2 id="r-tag">Tags <span class="count">{ itoa(p.Latest.Count) }</span> <a href={ templ.SafeURL(p.Latest.RefsHref) }>View all</a></h2> | |
| 65 | - | if p.Latest.Name != "" { | |
| 66 | - | <div class="latest-tag"> | |
| 67 | - | <a class="tag-name" href={ templ.SafeURL(p.Latest.Href) }><span class="ico i-tag" aria-hidden="true"></span>{ p.Latest.Name }</a> | |
| 68 | - | <span class="pill">latest</span> | |
| 69 | - | <time class="dim" datetime={ p.Latest.WhenAt } title={ p.Latest.WhenAt }>{ p.Latest.When }</time> | |
| 70 | - | if p.Latest.Subject != "" { | |
| 71 | - | <p class="tag-sub dim">{ p.Latest.Subject }</p> | |
| 72 | - | } | |
| 73 | - | </div> | |
| 74 | - | } else { | |
| 75 | - | <p class="dim">{ plural(p.Latest.Count, "tag", "tags") }</p> | |
| 76 | + | <section aria-labelledby="r-facts"> | |
| 77 | + | <h2 id="r-facts">About</h2> | |
| 78 | + | <dl class="kv"> | |
| 79 | + | for _, f := range p.Facts { | |
| 80 | + | <dt>{ f.Key }</dt> | |
| 81 | + | @FactValue(f) | |
| 76 | 82 | } | |
| 77 | - | </section> | |
| 78 | - | } | |
| 83 | + | if p.Latest != nil { | |
| 84 | + | @latestTagFact(*p.Latest) | |
| 85 | + | } | |
| 86 | + | </dl> | |
| 87 | + | </section> | |
| 79 | 88 | if len(p.Recent) > 0 { | |
| 80 | 89 | <section aria-labelledby="r-recent"><h2 id="r-recent">Recent commits <a href={ templ.SafeURL(p.AllHref) }>View all</a></h2>@CommitRows(p.Recent) | |
| 81 | 90 | </section> | |
| @@ -54,28 +54,37 @@ templ Summary(l Layout, p SummaryPage) { | |||||
| 54 | } | 54 | } | ||
| 55 | } | 55 | } | ||
| 56 | 56 | ||||
| 57 | + | // latestTagFact is the "latest tag" row of About: the newest tag (its | |||
| 58 | + | // commit subject on hover), how old it is, and the count of tags, a link to | |||
| 59 | + | // all of them. With too many tags to date them, the count only. | |||
| 60 | + | templ latestTagFact(t LatestTag) { | |||
| 61 | + | <dt>latest tag</dt> | |||
| 62 | + | <dd class="latest-tag"> | |||
| 63 | + | if t.Name != "" { | |||
| 64 | + | <a class="tag-name" href={ templ.SafeURL(t.Href) } title={ t.Subject }><span class="ico i-tag" aria-hidden="true"></span>{ t.Name }</a> | |||
| 65 | + | if t.WhenAt != "" { | |||
| 66 | + | <time class="dim" datetime={ t.WhenAt } title={ t.WhenAt }>{ t.When }</time> | |||
| 67 | + | } | |||
| 68 | + | } | |||
| 69 | + | <a class="all-tags" href={ templ.SafeURL(t.RefsHref) }>{ plural(t.Count, "tag", "tags") }</a> | |||
| 70 | + | </dd> | |||
| 71 | + | } | |||
| 72 | + | ||||
| 57 | templ summaryRail(p SummaryPage) { | 73 | templ summaryRail(p SummaryPage) { | ||
| 58 | <section aria-labelledby="r-clone"><h2 id="r-clone">Clone</h2>@CloneBlock(p.Clone) | 74 | <section aria-labelledby="r-clone"><h2 id="r-clone">Clone</h2>@CloneBlock(p.Clone) | ||
| 59 | </section> | 75 | </section> | ||
| 60 | - | <section aria-labelledby="r-facts"><h2 id="r-facts">About</h2>@Facts(p.Facts) | 76 | + | <section aria-labelledby="r-facts"> |
| 61 | - | </section> | 77 | + | <h2 id="r-facts">About</h2> |
| 62 | - | if p.Latest != nil { | 78 | + | <dl class="kv"> |
| 63 | - | <section aria-labelledby="r-tag"> | 79 | + | for _, f := range p.Facts { |
| 64 | - | <h2 id="r-tag">Tags <span class="count">{ itoa(p.Latest.Count) }</span> <a href={ templ.SafeURL(p.Latest.RefsHref) }>View all</a></h2> | 80 | + | <dt>{ f.Key }</dt> |
| 65 | - | if p.Latest.Name != "" { | 81 | + | @FactValue(f) |
| 66 | - | <div class="latest-tag"> | |||
| 67 | - | <a class="tag-name" href={ templ.SafeURL(p.Latest.Href) }><span class="ico i-tag" aria-hidden="true"></span>{ p.Latest.Name }</a> | |||
| 68 | - | <span class="pill">latest</span> | |||
| 69 | - | <time class="dim" datetime={ p.Latest.WhenAt } title={ p.Latest.WhenAt }>{ p.Latest.When }</time> | |||
| 70 | - | if p.Latest.Subject != "" { | |||
| 71 | - | <p class="tag-sub dim">{ p.Latest.Subject }</p> | |||
| 72 | - | } | |||
| 73 | - | </div> | |||
| 74 | - | } else { | |||
| 75 | - | <p class="dim">{ plural(p.Latest.Count, "tag", "tags") }</p> | |||
| 76 | } | 82 | } | ||
| 77 | - | </section> | 83 | + | if p.Latest != nil { |
| 78 | - | } | 84 | + | @latestTagFact(*p.Latest) |
| 85 | + | } | |||
| 86 | + | </dl> | |||
| 87 | + | </section> | |||
| 79 | if len(p.Recent) > 0 { | 88 | if len(p.Recent) > 0 { | ||
| 80 | <section aria-labelledby="r-recent"><h2 id="r-recent">Recent commits <a href={ templ.SafeURL(p.AllHref) }>View all</a></h2>@CommitRows(p.Recent) | 89 | <section aria-labelledby="r-recent"><h2 id="r-recent">Recent commits <a href={ templ.SafeURL(p.AllHref) }>View all</a></h2>@CommitRows(p.Recent) | ||
| 81 | </section> | 90 | </section> | ||
M internal/adapters/web/pages_templ.go +398 -369
| @@ -215,7 +215,10 @@ func Summary(l Layout, p SummaryPage) templ.Component { | |||
| 215 | 215 | }) | |
| 216 | 216 | } | |
| 217 | 217 | ||
| 218 | - | func summaryRail(p SummaryPage) templ.Component { | |
| 218 | + | // latestTagFact is the "latest tag" row of About: the newest tag (its | |
| 219 | + | // commit subject on hover), how old it is, and the count of tags, a link to | |
| 220 | + | // all of them. With too many tags to date them, the count only. | |
| 221 | + | func latestTagFact(t LatestTag) templ.Component { | |
| 219 | 222 | return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 220 | 223 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 221 | 224 | if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { | |
| @@ -236,189 +239,215 @@ func summaryRail(p SummaryPage) templ.Component { | |||
| 236 | 239 | templ_7745c5c3_Var11 = templ.NopComponent | |
| 237 | 240 | } | |
| 238 | 241 | ctx = templ.ClearChildren(ctx) | |
| 239 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<section aria-labelledby=\"r-clone\"><h2 id=\"r-clone\">Clone</h2>") | |
| 240 | - | if templ_7745c5c3_Err != nil { | |
| 241 | - | return templ_7745c5c3_Err | |
| 242 | - | } | |
| 243 | - | templ_7745c5c3_Err = CloneBlock(p.Clone).Render(ctx, templ_7745c5c3_Buffer) | |
| 244 | - | if templ_7745c5c3_Err != nil { | |
| 245 | - | return templ_7745c5c3_Err | |
| 246 | - | } | |
| 247 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</section><section aria-labelledby=\"r-facts\"><h2 id=\"r-facts\">About</h2>") | |
| 248 | - | if templ_7745c5c3_Err != nil { | |
| 249 | - | return templ_7745c5c3_Err | |
| 250 | - | } | |
| 251 | - | templ_7745c5c3_Err = Facts(p.Facts).Render(ctx, templ_7745c5c3_Buffer) | |
| 252 | - | if templ_7745c5c3_Err != nil { | |
| 253 | - | return templ_7745c5c3_Err | |
| 254 | - | } | |
| 255 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</section>") | |
| 242 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<dt>latest tag</dt><dd class=\"latest-tag\">") | |
| 256 | 243 | if templ_7745c5c3_Err != nil { | |
| 257 | 244 | return templ_7745c5c3_Err | |
| 258 | 245 | } | |
| 259 | - | if p.Latest != nil { | |
| 260 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<section aria-labelledby=\"r-tag\"><h2 id=\"r-tag\">Tags <span class=\"count\">") | |
| 246 | + | if t.Name != "" { | |
| 247 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<a class=\"tag-name\" href=\"") | |
| 261 | 248 | if templ_7745c5c3_Err != nil { | |
| 262 | 249 | return templ_7745c5c3_Err | |
| 263 | 250 | } | |
| 264 | - | var templ_7745c5c3_Var12 string | |
| 265 | - | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Latest.Count)) | |
| 251 | + | var templ_7745c5c3_Var12 templ.SafeURL | |
| 252 | + | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(t.Href)) | |
| 266 | 253 | if templ_7745c5c3_Err != nil { | |
| 267 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 65} | |
| 254 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 51} | |
| 268 | 255 | } | |
| 269 | 256 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) | |
| 270 | 257 | if templ_7745c5c3_Err != nil { | |
| 271 | 258 | return templ_7745c5c3_Err | |
| 272 | 259 | } | |
| 273 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</span> <a href=\"") | |
| 260 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\" title=\"") | |
| 274 | 261 | if templ_7745c5c3_Err != nil { | |
| 275 | 262 | return templ_7745c5c3_Err | |
| 276 | 263 | } | |
| 277 | - | var templ_7745c5c3_Var13 templ.SafeURL | |
| 278 | - | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Latest.RefsHref)) | |
| 264 | + | var templ_7745c5c3_Var13 string | |
| 265 | + | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.ResolveAttributeValue(t.Subject) | |
| 279 | 266 | if templ_7745c5c3_Err != nil { | |
| 280 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 117} | |
| 267 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 71} | |
| 281 | 268 | } | |
| 282 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) | |
| 269 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var13) | |
| 283 | 270 | if templ_7745c5c3_Err != nil { | |
| 284 | 271 | return templ_7745c5c3_Err | |
| 285 | 272 | } | |
| 286 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\">View all</a></h2>") | |
| 273 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\"><span class=\"ico i-tag\" aria-hidden=\"true\"></span>") | |
| 287 | 274 | if templ_7745c5c3_Err != nil { | |
| 288 | 275 | return templ_7745c5c3_Err | |
| 289 | 276 | } | |
| 290 | - | if p.Latest.Name != "" { | |
| 291 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<div class=\"latest-tag\"><a class=\"tag-name\" href=\"") | |
| 292 | - | if templ_7745c5c3_Err != nil { | |
| 293 | - | return templ_7745c5c3_Err | |
| 294 | - | } | |
| 295 | - | var templ_7745c5c3_Var14 templ.SafeURL | |
| 296 | - | templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Latest.Href)) | |
| 297 | - | if templ_7745c5c3_Err != nil { | |
| 298 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 67, Col: 60} | |
| 299 | - | } | |
| 300 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) | |
| 301 | - | if templ_7745c5c3_Err != nil { | |
| 302 | - | return templ_7745c5c3_Err | |
| 303 | - | } | |
| 304 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\"><span class=\"ico i-tag\" aria-hidden=\"true\"></span>") | |
| 277 | + | var templ_7745c5c3_Var14 string | |
| 278 | + | templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(t.Name) | |
| 279 | + | if templ_7745c5c3_Err != nil { | |
| 280 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 132} | |
| 281 | + | } | |
| 282 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) | |
| 283 | + | if templ_7745c5c3_Err != nil { | |
| 284 | + | return templ_7745c5c3_Err | |
| 285 | + | } | |
| 286 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</a> ") | |
| 287 | + | if templ_7745c5c3_Err != nil { | |
| 288 | + | return templ_7745c5c3_Err | |
| 289 | + | } | |
| 290 | + | if t.WhenAt != "" { | |
| 291 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<time class=\"dim\" datetime=\"") | |
| 305 | 292 | if templ_7745c5c3_Err != nil { | |
| 306 | 293 | return templ_7745c5c3_Err | |
| 307 | 294 | } | |
| 308 | 295 | var templ_7745c5c3_Var15 string | |
| 309 | - | templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(p.Latest.Name) | |
| 296 | + | templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.ResolveAttributeValue(t.WhenAt) | |
| 310 | 297 | if templ_7745c5c3_Err != nil { | |
| 311 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 67, Col: 128} | |
| 298 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 66, Col: 41} | |
| 312 | 299 | } | |
| 313 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15)) | |
| 300 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var15) | |
| 314 | 301 | if templ_7745c5c3_Err != nil { | |
| 315 | 302 | return templ_7745c5c3_Err | |
| 316 | 303 | } | |
| 317 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</a> <span class=\"pill\">latest</span> <time class=\"dim\" datetime=\"") | |
| 304 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "\" title=\"") | |
| 318 | 305 | if templ_7745c5c3_Err != nil { | |
| 319 | 306 | return templ_7745c5c3_Err | |
| 320 | 307 | } | |
| 321 | 308 | var templ_7745c5c3_Var16 string | |
| 322 | - | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Latest.WhenAt) | |
| 309 | + | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue(t.WhenAt) | |
| 323 | 310 | if templ_7745c5c3_Err != nil { | |
| 324 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 49} | |
| 311 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 66, Col: 60} | |
| 325 | 312 | } | |
| 326 | 313 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16) | |
| 327 | 314 | if templ_7745c5c3_Err != nil { | |
| 328 | 315 | return templ_7745c5c3_Err | |
| 329 | 316 | } | |
| 330 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\" title=\"") | |
| 317 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\">") | |
| 331 | 318 | if templ_7745c5c3_Err != nil { | |
| 332 | 319 | return templ_7745c5c3_Err | |
| 333 | 320 | } | |
| 334 | 321 | var templ_7745c5c3_Var17 string | |
| 335 | - | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Latest.WhenAt) | |
| 336 | - | if templ_7745c5c3_Err != nil { | |
| 337 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 75} | |
| 338 | - | } | |
| 339 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17) | |
| 340 | - | if templ_7745c5c3_Err != nil { | |
| 341 | - | return templ_7745c5c3_Err | |
| 342 | - | } | |
| 343 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "\">") | |
| 344 | - | if templ_7745c5c3_Err != nil { | |
| 345 | - | return templ_7745c5c3_Err | |
| 346 | - | } | |
| 347 | - | var templ_7745c5c3_Var18 string | |
| 348 | - | templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(p.Latest.When) | |
| 349 | - | if templ_7745c5c3_Err != nil { | |
| 350 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 93} | |
| 351 | - | } | |
| 352 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) | |
| 353 | - | if templ_7745c5c3_Err != nil { | |
| 354 | - | return templ_7745c5c3_Err | |
| 355 | - | } | |
| 356 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</time> ") | |
| 357 | - | if templ_7745c5c3_Err != nil { | |
| 358 | - | return templ_7745c5c3_Err | |
| 359 | - | } | |
| 360 | - | if p.Latest.Subject != "" { | |
| 361 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<p class=\"tag-sub dim\">") | |
| 362 | - | if templ_7745c5c3_Err != nil { | |
| 363 | - | return templ_7745c5c3_Err | |
| 364 | - | } | |
| 365 | - | var templ_7745c5c3_Var19 string | |
| 366 | - | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(p.Latest.Subject) | |
| 367 | - | if templ_7745c5c3_Err != nil { | |
| 368 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 71, Col: 47} | |
| 369 | - | } | |
| 370 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | |
| 371 | - | if templ_7745c5c3_Err != nil { | |
| 372 | - | return templ_7745c5c3_Err | |
| 373 | - | } | |
| 374 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</p>") | |
| 375 | - | if templ_7745c5c3_Err != nil { | |
| 376 | - | return templ_7745c5c3_Err | |
| 377 | - | } | |
| 378 | - | } | |
| 379 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</div>") | |
| 322 | + | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(t.When) | |
| 380 | 323 | if templ_7745c5c3_Err != nil { | |
| 381 | - | return templ_7745c5c3_Err | |
| 324 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 66, Col: 71} | |
| 382 | 325 | } | |
| 383 | - | } else { | |
| 384 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<p class=\"dim\">") | |
| 326 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) | |
| 385 | 327 | if templ_7745c5c3_Err != nil { | |
| 386 | 328 | return templ_7745c5c3_Err | |
| 387 | 329 | } | |
| 388 | - | var templ_7745c5c3_Var20 string | |
| 389 | - | templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.Latest.Count, "tag", "tags")) | |
| 390 | - | if templ_7745c5c3_Err != nil { | |
| 391 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 75, Col: 58} | |
| 392 | - | } | |
| 393 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) | |
| 330 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</time> ") | |
| 394 | 331 | if templ_7745c5c3_Err != nil { | |
| 395 | 332 | return templ_7745c5c3_Err | |
| 396 | 333 | } | |
| 397 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</p>") | |
| 398 | - | if templ_7745c5c3_Err != nil { | |
| 399 | - | return templ_7745c5c3_Err | |
| 334 | + | } | |
| 335 | + | } | |
| 336 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "<a class=\"all-tags\" href=\"") | |
| 337 | + | if templ_7745c5c3_Err != nil { | |
| 338 | + | return templ_7745c5c3_Err | |
| 339 | + | } | |
| 340 | + | var templ_7745c5c3_Var18 templ.SafeURL | |
| 341 | + | templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(t.RefsHref)) | |
| 342 | + | if templ_7745c5c3_Err != nil { | |
| 343 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 54} | |
| 344 | + | } | |
| 345 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) | |
| 346 | + | if templ_7745c5c3_Err != nil { | |
| 347 | + | return templ_7745c5c3_Err | |
| 348 | + | } | |
| 349 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "\">") | |
| 350 | + | if templ_7745c5c3_Err != nil { | |
| 351 | + | return templ_7745c5c3_Err | |
| 352 | + | } | |
| 353 | + | var templ_7745c5c3_Var19 string | |
| 354 | + | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(plural(t.Count, "tag", "tags")) | |
| 355 | + | if templ_7745c5c3_Err != nil { | |
| 356 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 89} | |
| 357 | + | } | |
| 358 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | |
| 359 | + | if templ_7745c5c3_Err != nil { | |
| 360 | + | return templ_7745c5c3_Err | |
| 361 | + | } | |
| 362 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</a></dd>") | |
| 363 | + | if templ_7745c5c3_Err != nil { | |
| 364 | + | return templ_7745c5c3_Err | |
| 365 | + | } | |
| 366 | + | return nil | |
| 367 | + | }) | |
| 368 | + | } | |
| 369 | + | ||
| 370 | + | func summaryRail(p SummaryPage) templ.Component { | |
| 371 | + | return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 372 | + | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 373 | + | if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { | |
| 374 | + | return templ_7745c5c3_CtxErr | |
| 375 | + | } | |
| 376 | + | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| 377 | + | if !templ_7745c5c3_IsBuffer { | |
| 378 | + | defer func() { | |
| 379 | + | templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) | |
| 380 | + | if templ_7745c5c3_Err == nil { | |
| 381 | + | templ_7745c5c3_Err = templ_7745c5c3_BufErr | |
| 400 | 382 | } | |
| 383 | + | }() | |
| 384 | + | } | |
| 385 | + | ctx = templ.InitializeContext(ctx) | |
| 386 | + | templ_7745c5c3_Var20 := templ.GetChildren(ctx) | |
| 387 | + | if templ_7745c5c3_Var20 == nil { | |
| 388 | + | templ_7745c5c3_Var20 = templ.NopComponent | |
| 389 | + | } | |
| 390 | + | ctx = templ.ClearChildren(ctx) | |
| 391 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<section aria-labelledby=\"r-clone\"><h2 id=\"r-clone\">Clone</h2>") | |
| 392 | + | if templ_7745c5c3_Err != nil { | |
| 393 | + | return templ_7745c5c3_Err | |
| 394 | + | } | |
| 395 | + | templ_7745c5c3_Err = CloneBlock(p.Clone).Render(ctx, templ_7745c5c3_Buffer) | |
| 396 | + | if templ_7745c5c3_Err != nil { | |
| 397 | + | return templ_7745c5c3_Err | |
| 398 | + | } | |
| 399 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</section><section aria-labelledby=\"r-facts\"><h2 id=\"r-facts\">About</h2><dl class=\"kv\">") | |
| 400 | + | if templ_7745c5c3_Err != nil { | |
| 401 | + | return templ_7745c5c3_Err | |
| 402 | + | } | |
| 403 | + | for _, f := range p.Facts { | |
| 404 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<dt>") | |
| 405 | + | if templ_7745c5c3_Err != nil { | |
| 406 | + | return templ_7745c5c3_Err | |
| 407 | + | } | |
| 408 | + | var templ_7745c5c3_Var21 string | |
| 409 | + | templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(f.Key) | |
| 410 | + | if templ_7745c5c3_Err != nil { | |
| 411 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 80, Col: 15} | |
| 412 | + | } | |
| 413 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) | |
| 414 | + | if templ_7745c5c3_Err != nil { | |
| 415 | + | return templ_7745c5c3_Err | |
| 416 | + | } | |
| 417 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "</dt>") | |
| 418 | + | if templ_7745c5c3_Err != nil { | |
| 419 | + | return templ_7745c5c3_Err | |
| 420 | + | } | |
| 421 | + | templ_7745c5c3_Err = FactValue(f).Render(ctx, templ_7745c5c3_Buffer) | |
| 422 | + | if templ_7745c5c3_Err != nil { | |
| 423 | + | return templ_7745c5c3_Err | |
| 401 | 424 | } | |
| 402 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</section>") | |
| 425 | + | } | |
| 426 | + | if p.Latest != nil { | |
| 427 | + | templ_7745c5c3_Err = latestTagFact(*p.Latest).Render(ctx, templ_7745c5c3_Buffer) | |
| 403 | 428 | if templ_7745c5c3_Err != nil { | |
| 404 | 429 | return templ_7745c5c3_Err | |
| 405 | 430 | } | |
| 406 | 431 | } | |
| 432 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</dl></section>") | |
| 433 | + | if templ_7745c5c3_Err != nil { | |
| 434 | + | return templ_7745c5c3_Err | |
| 435 | + | } | |
| 407 | 436 | if len(p.Recent) > 0 { | |
| 408 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "<section aria-labelledby=\"r-recent\"><h2 id=\"r-recent\">Recent commits <a href=\"") | |
| 437 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "<section aria-labelledby=\"r-recent\"><h2 id=\"r-recent\">Recent commits <a href=\"") | |
| 409 | 438 | if templ_7745c5c3_Err != nil { | |
| 410 | 439 | return templ_7745c5c3_Err | |
| 411 | 440 | } | |
| 412 | - | var templ_7745c5c3_Var21 templ.SafeURL | |
| 413 | - | templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.AllHref)) | |
| 441 | + | var templ_7745c5c3_Var22 templ.SafeURL | |
| 442 | + | templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.AllHref)) | |
| 414 | 443 | if templ_7745c5c3_Err != nil { | |
| 415 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 80, Col: 105} | |
| 444 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 89, Col: 105} | |
| 416 | 445 | } | |
| 417 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) | |
| 446 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22)) | |
| 418 | 447 | if templ_7745c5c3_Err != nil { | |
| 419 | 448 | return templ_7745c5c3_Err | |
| 420 | 449 | } | |
| 421 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\">View all</a></h2>") | |
| 450 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\">View all</a></h2>") | |
| 422 | 451 | if templ_7745c5c3_Err != nil { | |
| 423 | 452 | return templ_7745c5c3_Err | |
| 424 | 453 | } | |
| @@ -426,7 +455,7 @@ func summaryRail(p SummaryPage) templ.Component { | |||
| 426 | 455 | if templ_7745c5c3_Err != nil { | |
| 427 | 456 | return templ_7745c5c3_Err | |
| 428 | 457 | } | |
| 429 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "</section>") | |
| 458 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</section>") | |
| 430 | 459 | if templ_7745c5c3_Err != nil { | |
| 431 | 460 | return templ_7745c5c3_Err | |
| 432 | 461 | } | |
| @@ -438,7 +467,7 @@ func summaryRail(p SummaryPage) templ.Component { | |||
| 438 | 467 | } | |
| 439 | 468 | } | |
| 440 | 469 | if len(p.Outline) > 0 && p.Readme != nil { | |
| 441 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "<section aria-labelledby=\"r-outline\"><h2 id=\"r-outline\">On this page</h2>") | |
| 470 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "<section aria-labelledby=\"r-outline\"><h2 id=\"r-outline\">On this page</h2>") | |
| 442 | 471 | if templ_7745c5c3_Err != nil { | |
| 443 | 472 | return templ_7745c5c3_Err | |
| 444 | 473 | } | |
| @@ -446,7 +475,7 @@ func summaryRail(p SummaryPage) templ.Component { | |||
| 446 | 475 | if templ_7745c5c3_Err != nil { | |
| 447 | 476 | return templ_7745c5c3_Err | |
| 448 | 477 | } | |
| 449 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</section>") | |
| 478 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</section>") | |
| 450 | 479 | if templ_7745c5c3_Err != nil { | |
| 451 | 480 | return templ_7745c5c3_Err | |
| 452 | 481 | } | |
| @@ -472,12 +501,12 @@ func Refs(l Layout, p RefsPage) templ.Component { | |||
| 472 | 501 | }() | |
| 473 | 502 | } | |
| 474 | 503 | ctx = templ.InitializeContext(ctx) | |
| 475 | - | templ_7745c5c3_Var22 := templ.GetChildren(ctx) | |
| 476 | - | if templ_7745c5c3_Var22 == nil { | |
| 477 | - | templ_7745c5c3_Var22 = templ.NopComponent | |
| 504 | + | templ_7745c5c3_Var23 := templ.GetChildren(ctx) | |
| 505 | + | if templ_7745c5c3_Var23 == nil { | |
| 506 | + | templ_7745c5c3_Var23 = templ.NopComponent | |
| 478 | 507 | } | |
| 479 | 508 | ctx = templ.ClearChildren(ctx) | |
| 480 | - | templ_7745c5c3_Var23 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 509 | + | templ_7745c5c3_Var24 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 481 | 510 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 482 | 511 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| 483 | 512 | if !templ_7745c5c3_IsBuffer { | |
| @@ -489,7 +518,7 @@ func Refs(l Layout, p RefsPage) templ.Component { | |||
| 489 | 518 | }() | |
| 490 | 519 | } | |
| 491 | 520 | ctx = templ.InitializeContext(ctx) | |
| 492 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<div class=\"filter\"><label for=\"ref-filter\" class=\"sr\">filter</label> <input id=\"ref-filter\" type=\"search\" data-filter=\"#ref-rows > tr\" placeholder=\"Filter branches and tags…\" autocomplete=\"off\" hx-on:input=\"ermite.filter(this)\"></div><table class=\"list refs\" aria-label=\"Branches and tags\"><thead><tr><th class=\"cur\"></th><th class=\"c-kind\">kind</th><th class=\"c-name\">name</th><th class=\"c-sha\">commit</th><th class=\"c-sub\">subject</th><th class=\"c-when\">date</th></tr></thead>") | |
| 521 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "<div class=\"filter\"><label for=\"ref-filter\" class=\"sr\">filter</label> <input id=\"ref-filter\" type=\"search\" data-filter=\"#ref-rows > tr\" placeholder=\"Filter branches and tags…\" autocomplete=\"off\" hx-on:input=\"ermite.filter(this)\"></div><table class=\"list refs\" aria-label=\"Branches and tags\"><thead><tr><th class=\"cur\"></th><th class=\"c-kind\">kind</th><th class=\"c-name\">name</th><th class=\"c-sha\">commit</th><th class=\"c-sub\">subject</th><th class=\"c-when\">date</th></tr></thead>") | |
| 493 | 522 | if templ_7745c5c3_Err != nil { | |
| 494 | 523 | return templ_7745c5c3_Err | |
| 495 | 524 | } | |
| @@ -497,32 +526,32 @@ func Refs(l Layout, p RefsPage) templ.Component { | |||
| 497 | 526 | if templ_7745c5c3_Err != nil { | |
| 498 | 527 | return templ_7745c5c3_Err | |
| 499 | 528 | } | |
| 500 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</table>") | |
| 529 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</table>") | |
| 501 | 530 | if templ_7745c5c3_Err != nil { | |
| 502 | 531 | return templ_7745c5c3_Err | |
| 503 | 532 | } | |
| 504 | 533 | if p.Note != "" { | |
| 505 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<p class=\"note\">") | |
| 534 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "<p class=\"note\">") | |
| 506 | 535 | if templ_7745c5c3_Err != nil { | |
| 507 | 536 | return templ_7745c5c3_Err | |
| 508 | 537 | } | |
| 509 | - | var templ_7745c5c3_Var24 string | |
| 510 | - | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) | |
| 538 | + | var templ_7745c5c3_Var25 string | |
| 539 | + | templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) | |
| 511 | 540 | if templ_7745c5c3_Err != nil { | |
| 512 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 113, Col: 27} | |
| 541 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 122, Col: 27} | |
| 513 | 542 | } | |
| 514 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | |
| 543 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25)) | |
| 515 | 544 | if templ_7745c5c3_Err != nil { | |
| 516 | 545 | return templ_7745c5c3_Err | |
| 517 | 546 | } | |
| 518 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "</p>") | |
| 547 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "</p>") | |
| 519 | 548 | if templ_7745c5c3_Err != nil { | |
| 520 | 549 | return templ_7745c5c3_Err | |
| 521 | 550 | } | |
| 522 | 551 | } | |
| 523 | 552 | return nil | |
| 524 | 553 | }) | |
| 525 | - | templ_7745c5c3_Err = Shell(l, refsRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var23), templ_7745c5c3_Buffer) | |
| 554 | + | templ_7745c5c3_Err = Shell(l, refsRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var24), templ_7745c5c3_Buffer) | |
| 526 | 555 | if templ_7745c5c3_Err != nil { | |
| 527 | 556 | return templ_7745c5c3_Err | |
| 528 | 557 | } | |
| @@ -546,112 +575,112 @@ func refRow(kind string, r RefRow) templ.Component { | |||
| 546 | 575 | }() | |
| 547 | 576 | } | |
| 548 | 577 | ctx = templ.InitializeContext(ctx) | |
| 549 | - | templ_7745c5c3_Var25 := templ.GetChildren(ctx) | |
| 550 | - | if templ_7745c5c3_Var25 == nil { | |
| 551 | - | templ_7745c5c3_Var25 = templ.NopComponent | |
| 578 | + | templ_7745c5c3_Var26 := templ.GetChildren(ctx) | |
| 579 | + | if templ_7745c5c3_Var26 == nil { | |
| 580 | + | templ_7745c5c3_Var26 = templ.NopComponent | |
| 552 | 581 | } | |
| 553 | 582 | ctx = templ.ClearChildren(ctx) | |
| 554 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<tr") | |
| 583 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<tr") | |
| 555 | 584 | if templ_7745c5c3_Err != nil { | |
| 556 | 585 | return templ_7745c5c3_Err | |
| 557 | 586 | } | |
| 558 | 587 | if r.Cursor { | |
| 559 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, " data-cursor") | |
| 588 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, " data-cursor") | |
| 560 | 589 | if templ_7745c5c3_Err != nil { | |
| 561 | 590 | return templ_7745c5c3_Err | |
| 562 | 591 | } | |
| 563 | 592 | } | |
| 564 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-kind mute\">") | |
| 593 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-kind mute\">") | |
| 565 | 594 | if templ_7745c5c3_Err != nil { | |
| 566 | 595 | return templ_7745c5c3_Err | |
| 567 | 596 | } | |
| 568 | - | var templ_7745c5c3_Var26 string | |
| 569 | - | templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(kind) | |
| 597 | + | var templ_7745c5c3_Var27 string | |
| 598 | + | templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(kind) | |
| 570 | 599 | if templ_7745c5c3_Err != nil { | |
| 571 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 121, Col: 32} | |
| 600 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 130, Col: 32} | |
| 572 | 601 | } | |
| 573 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26)) | |
| 602 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27)) | |
| 574 | 603 | if templ_7745c5c3_Err != nil { | |
| 575 | 604 | return templ_7745c5c3_Err | |
| 576 | 605 | } | |
| 577 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</td><td class=\"c-name\"><a href=\"") | |
| 606 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</td><td class=\"c-name\"><a href=\"") | |
| 578 | 607 | if templ_7745c5c3_Err != nil { | |
| 579 | 608 | return templ_7745c5c3_Err | |
| 580 | 609 | } | |
| 581 | - | var templ_7745c5c3_Var27 templ.SafeURL | |
| 582 | - | templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href)) | |
| 610 | + | var templ_7745c5c3_Var28 templ.SafeURL | |
| 611 | + | templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href)) | |
| 583 | 612 | if templ_7745c5c3_Err != nil { | |
| 584 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 123, Col: 34} | |
| 613 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 132, Col: 34} | |
| 585 | 614 | } | |
| 586 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27)) | |
| 615 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28)) | |
| 587 | 616 | if templ_7745c5c3_Err != nil { | |
| 588 | 617 | return templ_7745c5c3_Err | |
| 589 | 618 | } | |
| 590 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "\">") | |
| 619 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "\">") | |
| 591 | 620 | if templ_7745c5c3_Err != nil { | |
| 592 | 621 | return templ_7745c5c3_Err | |
| 593 | 622 | } | |
| 594 | - | var templ_7745c5c3_Var28 string | |
| 595 | - | templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) | |
| 623 | + | var templ_7745c5c3_Var29 string | |
| 624 | + | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) | |
| 596 | 625 | if templ_7745c5c3_Err != nil { | |
| 597 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 123, Col: 45} | |
| 626 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 132, Col: 45} | |
| 598 | 627 | } | |
| 599 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28)) | |
| 628 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | |
| 600 | 629 | if templ_7745c5c3_Err != nil { | |
| 601 | 630 | return templ_7745c5c3_Err | |
| 602 | 631 | } | |
| 603 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</a> ") | |
| 632 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</a> ") | |
| 604 | 633 | if templ_7745c5c3_Err != nil { | |
| 605 | 634 | return templ_7745c5c3_Err | |
| 606 | 635 | } | |
| 607 | 636 | if r.Default { | |
| 608 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "<span class=\"pill\">default</span>") | |
| 637 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<span class=\"pill\">default</span>") | |
| 609 | 638 | if templ_7745c5c3_Err != nil { | |
| 610 | 639 | return templ_7745c5c3_Err | |
| 611 | 640 | } | |
| 612 | 641 | } | |
| 613 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "</td><td class=\"c-sha\">") | |
| 642 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</td><td class=\"c-sha\">") | |
| 614 | 643 | if templ_7745c5c3_Err != nil { | |
| 615 | 644 | return templ_7745c5c3_Err | |
| 616 | 645 | } | |
| 617 | 646 | if r.CHref != "" { | |
| 618 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "<a href=\"") | |
| 647 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<a href=\"") | |
| 619 | 648 | if templ_7745c5c3_Err != nil { | |
| 620 | 649 | return templ_7745c5c3_Err | |
| 621 | 650 | } | |
| 622 | - | var templ_7745c5c3_Var29 templ.SafeURL | |
| 623 | - | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.CHref)) | |
| 651 | + | var templ_7745c5c3_Var30 templ.SafeURL | |
| 652 | + | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.CHref)) | |
| 624 | 653 | if templ_7745c5c3_Err != nil { | |
| 625 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 130, Col: 36} | |
| 654 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 36} | |
| 626 | 655 | } | |
| 627 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | |
| 656 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) | |
| 628 | 657 | if templ_7745c5c3_Err != nil { | |
| 629 | 658 | return templ_7745c5c3_Err | |
| 630 | 659 | } | |
| 631 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "\">") | |
| 660 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "\">") | |
| 632 | 661 | if templ_7745c5c3_Err != nil { | |
| 633 | 662 | return templ_7745c5c3_Err | |
| 634 | 663 | } | |
| 635 | - | var templ_7745c5c3_Var30 string | |
| 636 | - | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) | |
| 664 | + | var templ_7745c5c3_Var31 string | |
| 665 | + | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) | |
| 637 | 666 | if templ_7745c5c3_Err != nil { | |
| 638 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 130, Col: 48} | |
| 667 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 48} | |
| 639 | 668 | } | |
| 640 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) | |
| 669 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | |
| 641 | 670 | if templ_7745c5c3_Err != nil { | |
| 642 | 671 | return templ_7745c5c3_Err | |
| 643 | 672 | } | |
| 644 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</a>") | |
| 673 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</a>") | |
| 645 | 674 | if templ_7745c5c3_Err != nil { | |
| 646 | 675 | return templ_7745c5c3_Err | |
| 647 | 676 | } | |
| 648 | 677 | } else { | |
| 649 | - | var templ_7745c5c3_Var31 string | |
| 650 | - | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) | |
| 678 | + | var templ_7745c5c3_Var32 string | |
| 679 | + | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) | |
| 651 | 680 | if templ_7745c5c3_Err != nil { | |
| 652 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 132, Col: 13} | |
| 681 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 141, Col: 13} | |
| 653 | 682 | } | |
| 654 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | |
| 683 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) | |
| 655 | 684 | if templ_7745c5c3_Err != nil { | |
| 656 | 685 | return templ_7745c5c3_Err | |
| 657 | 686 | } | |
| @@ -660,69 +689,69 @@ func refRow(kind string, r RefRow) templ.Component { | |||
| 660 | 689 | if templ_7745c5c3_Err != nil { | |
| 661 | 690 | return templ_7745c5c3_Err | |
| 662 | 691 | } | |
| 663 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</td><td class=\"c-sub\">") | |
| 692 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</td><td class=\"c-sub\">") | |
| 664 | 693 | if templ_7745c5c3_Err != nil { | |
| 665 | 694 | return templ_7745c5c3_Err | |
| 666 | 695 | } | |
| 667 | - | var templ_7745c5c3_Var32 string | |
| 668 | - | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(r.Subject) | |
| 696 | + | var templ_7745c5c3_Var33 string | |
| 697 | + | templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(r.Subject) | |
| 669 | 698 | if templ_7745c5c3_Err != nil { | |
| 670 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 136, Col: 31} | |
| 699 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 145, Col: 31} | |
| 671 | 700 | } | |
| 672 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) | |
| 701 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33)) | |
| 673 | 702 | if templ_7745c5c3_Err != nil { | |
| 674 | 703 | return templ_7745c5c3_Err | |
| 675 | 704 | } | |
| 676 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "</td><td class=\"c-when dim\">") | |
| 705 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</td><td class=\"c-when dim\">") | |
| 677 | 706 | if templ_7745c5c3_Err != nil { | |
| 678 | 707 | return templ_7745c5c3_Err | |
| 679 | 708 | } | |
| 680 | 709 | if r.WhenAt != "" { | |
| 681 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "<time datetime=\"") | |
| 710 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<time datetime=\"") | |
| 682 | 711 | if templ_7745c5c3_Err != nil { | |
| 683 | 712 | return templ_7745c5c3_Err | |
| 684 | 713 | } | |
| 685 | - | var templ_7745c5c3_Var33 string | |
| 686 | - | templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) | |
| 714 | + | var templ_7745c5c3_Var34 string | |
| 715 | + | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) | |
| 687 | 716 | if templ_7745c5c3_Err != nil { | |
| 688 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 29} | |
| 717 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 148, Col: 29} | |
| 689 | 718 | } | |
| 690 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var33) | |
| 719 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34) | |
| 691 | 720 | if templ_7745c5c3_Err != nil { | |
| 692 | 721 | return templ_7745c5c3_Err | |
| 693 | 722 | } | |
| 694 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "\" title=\"") | |
| 723 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\" title=\"") | |
| 695 | 724 | if templ_7745c5c3_Err != nil { | |
| 696 | 725 | return templ_7745c5c3_Err | |
| 697 | 726 | } | |
| 698 | - | var templ_7745c5c3_Var34 string | |
| 699 | - | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) | |
| 727 | + | var templ_7745c5c3_Var35 string | |
| 728 | + | templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) | |
| 700 | 729 | if templ_7745c5c3_Err != nil { | |
| 701 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 48} | |
| 730 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 148, Col: 48} | |
| 702 | 731 | } | |
| 703 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34) | |
| 732 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var35) | |
| 704 | 733 | if templ_7745c5c3_Err != nil { | |
| 705 | 734 | return templ_7745c5c3_Err | |
| 706 | 735 | } | |
| 707 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\">") | |
| 736 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "\">") | |
| 708 | 737 | if templ_7745c5c3_Err != nil { | |
| 709 | 738 | return templ_7745c5c3_Err | |
| 710 | 739 | } | |
| 711 | - | var templ_7745c5c3_Var35 string | |
| 712 | - | templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(r.When) | |
| 740 | + | var templ_7745c5c3_Var36 string | |
| 741 | + | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(r.When) | |
| 713 | 742 | if templ_7745c5c3_Err != nil { | |
| 714 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 59} | |
| 743 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 148, Col: 59} | |
| 715 | 744 | } | |
| 716 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35)) | |
| 745 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) | |
| 717 | 746 | if templ_7745c5c3_Err != nil { | |
| 718 | 747 | return templ_7745c5c3_Err | |
| 719 | 748 | } | |
| 720 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</time>") | |
| 749 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "</time>") | |
| 721 | 750 | if templ_7745c5c3_Err != nil { | |
| 722 | 751 | return templ_7745c5c3_Err | |
| 723 | 752 | } | |
| 724 | 753 | } | |
| 725 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "</td></tr>") | |
| 754 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</td></tr>") | |
| 726 | 755 | if templ_7745c5c3_Err != nil { | |
| 727 | 756 | return templ_7745c5c3_Err | |
| 728 | 757 | } | |
| @@ -746,12 +775,12 @@ func refsRail(p RefsPage) templ.Component { | |||
| 746 | 775 | }() | |
| 747 | 776 | } | |
| 748 | 777 | ctx = templ.InitializeContext(ctx) | |
| 749 | - | templ_7745c5c3_Var36 := templ.GetChildren(ctx) | |
| 750 | - | if templ_7745c5c3_Var36 == nil { | |
| 751 | - | templ_7745c5c3_Var36 = templ.NopComponent | |
| 778 | + | templ_7745c5c3_Var37 := templ.GetChildren(ctx) | |
| 779 | + | if templ_7745c5c3_Var37 == nil { | |
| 780 | + | templ_7745c5c3_Var37 = templ.NopComponent | |
| 752 | 781 | } | |
| 753 | 782 | ctx = templ.ClearChildren(ctx) | |
| 754 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "<section aria-labelledby=\"r-refs\"><h2 id=\"r-refs\">Overview</h2>") | |
| 783 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<section aria-labelledby=\"r-refs\"><h2 id=\"r-refs\">Overview</h2>") | |
| 755 | 784 | if templ_7745c5c3_Err != nil { | |
| 756 | 785 | return templ_7745c5c3_Err | |
| 757 | 786 | } | |
| @@ -759,7 +788,7 @@ func refsRail(p RefsPage) templ.Component { | |||
| 759 | 788 | if templ_7745c5c3_Err != nil { | |
| 760 | 789 | return templ_7745c5c3_Err | |
| 761 | 790 | } | |
| 762 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</section>") | |
| 791 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</section>") | |
| 763 | 792 | if templ_7745c5c3_Err != nil { | |
| 764 | 793 | return templ_7745c5c3_Err | |
| 765 | 794 | } | |
| @@ -784,12 +813,12 @@ func State(l Layout, p StatePage) templ.Component { | |||
| 784 | 813 | }() | |
| 785 | 814 | } | |
| 786 | 815 | ctx = templ.InitializeContext(ctx) | |
| 787 | - | templ_7745c5c3_Var37 := templ.GetChildren(ctx) | |
| 788 | - | if templ_7745c5c3_Var37 == nil { | |
| 789 | - | templ_7745c5c3_Var37 = templ.NopComponent | |
| 816 | + | templ_7745c5c3_Var38 := templ.GetChildren(ctx) | |
| 817 | + | if templ_7745c5c3_Var38 == nil { | |
| 818 | + | templ_7745c5c3_Var38 = templ.NopComponent | |
| 790 | 819 | } | |
| 791 | 820 | ctx = templ.ClearChildren(ctx) | |
| 792 | - | templ_7745c5c3_Var38 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 821 | + | templ_7745c5c3_Var39 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 793 | 822 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 794 | 823 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| 795 | 824 | if !templ_7745c5c3_IsBuffer { | |
| @@ -801,51 +830,51 @@ func State(l Layout, p StatePage) templ.Component { | |||
| 801 | 830 | }() | |
| 802 | 831 | } | |
| 803 | 832 | ctx = templ.InitializeContext(ctx) | |
| 804 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "<section class=\"state\" aria-labelledby=\"state-title\"><p class=\"eyebrow\">") | |
| 833 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "<section class=\"state\" aria-labelledby=\"state-title\"><p class=\"eyebrow\">") | |
| 805 | 834 | if templ_7745c5c3_Err != nil { | |
| 806 | 835 | return templ_7745c5c3_Err | |
| 807 | 836 | } | |
| 808 | - | var templ_7745c5c3_Var39 string | |
| 809 | - | templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(p.Code) | |
| 837 | + | var templ_7745c5c3_Var40 string | |
| 838 | + | templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(p.Code) | |
| 810 | 839 | if templ_7745c5c3_Err != nil { | |
| 811 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 156, Col: 30} | |
| 840 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 165, Col: 30} | |
| 812 | 841 | } | |
| 813 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) | |
| 842 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) | |
| 814 | 843 | if templ_7745c5c3_Err != nil { | |
| 815 | 844 | return templ_7745c5c3_Err | |
| 816 | 845 | } | |
| 817 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</p><h1 id=\"state-title\">") | |
| 846 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</p><h1 id=\"state-title\">") | |
| 818 | 847 | if templ_7745c5c3_Err != nil { | |
| 819 | 848 | return templ_7745c5c3_Err | |
| 820 | 849 | } | |
| 821 | - | var templ_7745c5c3_Var40 string | |
| 822 | - | templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | |
| 850 | + | var templ_7745c5c3_Var41 string | |
| 851 | + | templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | |
| 823 | 852 | if templ_7745c5c3_Err != nil { | |
| 824 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 157, Col: 33} | |
| 853 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 166, Col: 33} | |
| 825 | 854 | } | |
| 826 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) | |
| 855 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) | |
| 827 | 856 | if templ_7745c5c3_Err != nil { | |
| 828 | 857 | return templ_7745c5c3_Err | |
| 829 | 858 | } | |
| 830 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "</h1>") | |
| 859 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</h1>") | |
| 831 | 860 | if templ_7745c5c3_Err != nil { | |
| 832 | 861 | return templ_7745c5c3_Err | |
| 833 | 862 | } | |
| 834 | 863 | for _, line := range p.Lines { | |
| 835 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "<p class=\"dim\">") | |
| 864 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "<p class=\"dim\">") | |
| 836 | 865 | if templ_7745c5c3_Err != nil { | |
| 837 | 866 | return templ_7745c5c3_Err | |
| 838 | 867 | } | |
| 839 | - | var templ_7745c5c3_Var41 string | |
| 840 | - | templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(line) | |
| 868 | + | var templ_7745c5c3_Var42 string | |
| 869 | + | templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(line) | |
| 841 | 870 | if templ_7745c5c3_Err != nil { | |
| 842 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 159, Col: 25} | |
| 871 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 168, Col: 25} | |
| 843 | 872 | } | |
| 844 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) | |
| 873 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) | |
| 845 | 874 | if templ_7745c5c3_Err != nil { | |
| 846 | 875 | return templ_7745c5c3_Err | |
| 847 | 876 | } | |
| 848 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "</p>") | |
| 877 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "</p>") | |
| 849 | 878 | if templ_7745c5c3_Err != nil { | |
| 850 | 879 | return templ_7745c5c3_Err | |
| 851 | 880 | } | |
| @@ -856,49 +885,49 @@ func State(l Layout, p StatePage) templ.Component { | |||
| 856 | 885 | return templ_7745c5c3_Err | |
| 857 | 886 | } | |
| 858 | 887 | } | |
| 859 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "<p class=\"state-back\">") | |
| 888 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "<p class=\"state-back\">") | |
| 860 | 889 | if templ_7745c5c3_Err != nil { | |
| 861 | 890 | return templ_7745c5c3_Err | |
| 862 | 891 | } | |
| 863 | 892 | for _, b := range p.Back { | |
| 864 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "<a href=\"") | |
| 893 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "<a href=\"") | |
| 865 | 894 | if templ_7745c5c3_Err != nil { | |
| 866 | 895 | return templ_7745c5c3_Err | |
| 867 | 896 | } | |
| 868 | - | var templ_7745c5c3_Var42 templ.SafeURL | |
| 869 | - | templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(b.Href)) | |
| 897 | + | var templ_7745c5c3_Var43 templ.SafeURL | |
| 898 | + | templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(b.Href)) | |
| 870 | 899 | if templ_7745c5c3_Err != nil { | |
| 871 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 166, Col: 36} | |
| 900 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 175, Col: 36} | |
| 872 | 901 | } | |
| 873 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) | |
| 902 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) | |
| 874 | 903 | if templ_7745c5c3_Err != nil { | |
| 875 | 904 | return templ_7745c5c3_Err | |
| 876 | 905 | } | |
| 877 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\">") | |
| 906 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "\">") | |
| 878 | 907 | if templ_7745c5c3_Err != nil { | |
| 879 | 908 | return templ_7745c5c3_Err | |
| 880 | 909 | } | |
| 881 | - | var templ_7745c5c3_Var43 string | |
| 882 | - | templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(b.Label) | |
| 910 | + | var templ_7745c5c3_Var44 string | |
| 911 | + | templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(b.Label) | |
| 883 | 912 | if templ_7745c5c3_Err != nil { | |
| 884 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 166, Col: 48} | |
| 913 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 175, Col: 48} | |
| 885 | 914 | } | |
| 886 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) | |
| 915 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44)) | |
| 887 | 916 | if templ_7745c5c3_Err != nil { | |
| 888 | 917 | return templ_7745c5c3_Err | |
| 889 | 918 | } | |
| 890 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "</a>") | |
| 919 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "</a>") | |
| 891 | 920 | if templ_7745c5c3_Err != nil { | |
| 892 | 921 | return templ_7745c5c3_Err | |
| 893 | 922 | } | |
| 894 | 923 | } | |
| 895 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "</p></section>") | |
| 924 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "</p></section>") | |
| 896 | 925 | if templ_7745c5c3_Err != nil { | |
| 897 | 926 | return templ_7745c5c3_Err | |
| 898 | 927 | } | |
| 899 | 928 | return nil | |
| 900 | 929 | }) | |
| 901 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var38), templ_7745c5c3_Buffer) | |
| 930 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var39), templ_7745c5c3_Buffer) | |
| 902 | 931 | if templ_7745c5c3_Err != nil { | |
| 903 | 932 | return templ_7745c5c3_Err | |
| 904 | 933 | } | |
| @@ -927,12 +956,12 @@ func Login(l Layout, p LoginPage) templ.Component { | |||
| 927 | 956 | }() | |
| 928 | 957 | } | |
| 929 | 958 | ctx = templ.InitializeContext(ctx) | |
| 930 | - | templ_7745c5c3_Var44 := templ.GetChildren(ctx) | |
| 931 | - | if templ_7745c5c3_Var44 == nil { | |
| 932 | - | templ_7745c5c3_Var44 = templ.NopComponent | |
| 959 | + | templ_7745c5c3_Var45 := templ.GetChildren(ctx) | |
| 960 | + | if templ_7745c5c3_Var45 == nil { | |
| 961 | + | templ_7745c5c3_Var45 = templ.NopComponent | |
| 933 | 962 | } | |
| 934 | 963 | ctx = templ.ClearChildren(ctx) | |
| 935 | - | templ_7745c5c3_Var45 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 964 | + | templ_7745c5c3_Var46 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 936 | 965 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 937 | 966 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| 938 | 967 | if !templ_7745c5c3_IsBuffer { | |
| @@ -944,75 +973,75 @@ func Login(l Layout, p LoginPage) templ.Component { | |||
| 944 | 973 | }() | |
| 945 | 974 | } | |
| 946 | 975 | ctx = templ.InitializeContext(ctx) | |
| 947 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") | |
| 976 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") | |
| 948 | 977 | if templ_7745c5c3_Err != nil { | |
| 949 | 978 | return templ_7745c5c3_Err | |
| 950 | 979 | } | |
| 951 | - | var templ_7745c5c3_Var46 string | |
| 952 | - | templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | |
| 980 | + | var templ_7745c5c3_Var47 string | |
| 981 | + | templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | |
| 953 | 982 | if templ_7745c5c3_Err != nil { | |
| 954 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 181, Col: 33} | |
| 983 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 190, Col: 33} | |
| 955 | 984 | } | |
| 956 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46)) | |
| 985 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) | |
| 957 | 986 | if templ_7745c5c3_Err != nil { | |
| 958 | 987 | return templ_7745c5c3_Err | |
| 959 | 988 | } | |
| 960 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "</h1>") | |
| 989 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "</h1>") | |
| 961 | 990 | if templ_7745c5c3_Err != nil { | |
| 962 | 991 | return templ_7745c5c3_Err | |
| 963 | 992 | } | |
| 964 | 993 | for _, line := range p.Lines { | |
| 965 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "<p class=\"dim\">") | |
| 994 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "<p class=\"dim\">") | |
| 966 | 995 | if templ_7745c5c3_Err != nil { | |
| 967 | 996 | return templ_7745c5c3_Err | |
| 968 | 997 | } | |
| 969 | - | var templ_7745c5c3_Var47 string | |
| 970 | - | templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(line) | |
| 998 | + | var templ_7745c5c3_Var48 string | |
| 999 | + | templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(line) | |
| 971 | 1000 | if templ_7745c5c3_Err != nil { | |
| 972 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 183, Col: 25} | |
| 1001 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 192, Col: 25} | |
| 973 | 1002 | } | |
| 974 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) | |
| 1003 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48)) | |
| 975 | 1004 | if templ_7745c5c3_Err != nil { | |
| 976 | 1005 | return templ_7745c5c3_Err | |
| 977 | 1006 | } | |
| 978 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "</p>") | |
| 1007 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "</p>") | |
| 979 | 1008 | if templ_7745c5c3_Err != nil { | |
| 980 | 1009 | return templ_7745c5c3_Err | |
| 981 | 1010 | } | |
| 982 | 1011 | } | |
| 983 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "<form class=\"state-act\" method=\"post\" action=\"") | |
| 1012 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "<form class=\"state-act\" method=\"post\" action=\"") | |
| 984 | 1013 | if templ_7745c5c3_Err != nil { | |
| 985 | 1014 | return templ_7745c5c3_Err | |
| 986 | 1015 | } | |
| 987 | - | var templ_7745c5c3_Var48 templ.SafeURL | |
| 988 | - | templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Action)) | |
| 1016 | + | var templ_7745c5c3_Var49 templ.SafeURL | |
| 1017 | + | templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Action)) | |
| 989 | 1018 | if templ_7745c5c3_Err != nil { | |
| 990 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 185, Col: 73} | |
| 1019 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 194, Col: 73} | |
| 991 | 1020 | } | |
| 992 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48)) | |
| 1021 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49)) | |
| 993 | 1022 | if templ_7745c5c3_Err != nil { | |
| 994 | 1023 | return templ_7745c5c3_Err | |
| 995 | 1024 | } | |
| 996 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "\" data-autosubmit><button type=\"submit\" class=\"btn primary\">") | |
| 1025 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "\" data-autosubmit><button type=\"submit\" class=\"btn primary\">") | |
| 997 | 1026 | if templ_7745c5c3_Err != nil { | |
| 998 | 1027 | return templ_7745c5c3_Err | |
| 999 | 1028 | } | |
| 1000 | - | var templ_7745c5c3_Var49 string | |
| 1001 | - | templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) | |
| 1029 | + | var templ_7745c5c3_Var50 string | |
| 1030 | + | templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) | |
| 1002 | 1031 | if templ_7745c5c3_Err != nil { | |
| 1003 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 186, Col: 56} | |
| 1032 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 195, Col: 56} | |
| 1004 | 1033 | } | |
| 1005 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49)) | |
| 1034 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var50)) | |
| 1006 | 1035 | if templ_7745c5c3_Err != nil { | |
| 1007 | 1036 | return templ_7745c5c3_Err | |
| 1008 | 1037 | } | |
| 1009 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "</button></form><p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") | |
| 1038 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "</button></form><p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") | |
| 1010 | 1039 | if templ_7745c5c3_Err != nil { | |
| 1011 | 1040 | return templ_7745c5c3_Err | |
| 1012 | 1041 | } | |
| 1013 | 1042 | return nil | |
| 1014 | 1043 | }) | |
| 1015 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var45), templ_7745c5c3_Buffer) | |
| 1044 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var46), templ_7745c5c3_Buffer) | |
| 1016 | 1045 | if templ_7745c5c3_Err != nil { | |
| 1017 | 1046 | return templ_7745c5c3_Err | |
| 1018 | 1047 | } | |
| @@ -1038,12 +1067,12 @@ func PasskeyLogin(l Layout, p PasskeyLoginPage) templ.Component { | |||
| 1038 | 1067 | }() | |
| 1039 | 1068 | } | |
| 1040 | 1069 | ctx = templ.InitializeContext(ctx) | |
| 1041 | - | templ_7745c5c3_Var50 := templ.GetChildren(ctx) | |
| 1042 | - | if templ_7745c5c3_Var50 == nil { | |
| 1043 | - | templ_7745c5c3_Var50 = templ.NopComponent | |
| 1070 | + | templ_7745c5c3_Var51 := templ.GetChildren(ctx) | |
| 1071 | + | if templ_7745c5c3_Var51 == nil { | |
| 1072 | + | templ_7745c5c3_Var51 = templ.NopComponent | |
| 1044 | 1073 | } | |
| 1045 | 1074 | ctx = templ.ClearChildren(ctx) | |
| 1046 | - | templ_7745c5c3_Var51 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 1075 | + | templ_7745c5c3_Var52 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 1047 | 1076 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 1048 | 1077 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| 1049 | 1078 | if !templ_7745c5c3_IsBuffer { | |
| @@ -1055,88 +1084,88 @@ func PasskeyLogin(l Layout, p PasskeyLoginPage) templ.Component { | |||
| 1055 | 1084 | }() | |
| 1056 | 1085 | } | |
| 1057 | 1086 | ctx = templ.InitializeContext(ctx) | |
| 1058 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") | |
| 1087 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") | |
| 1059 | 1088 | if templ_7745c5c3_Err != nil { | |
| 1060 | 1089 | return templ_7745c5c3_Err | |
| 1061 | 1090 | } | |
| 1062 | - | var templ_7745c5c3_Var52 string | |
| 1063 | - | templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | |
| 1091 | + | var templ_7745c5c3_Var53 string | |
| 1092 | + | templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | |
| 1064 | 1093 | if templ_7745c5c3_Err != nil { | |
| 1065 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 198, Col: 33} | |
| 1094 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 207, Col: 33} | |
| 1066 | 1095 | } | |
| 1067 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52)) | |
| 1096 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53)) | |
| 1068 | 1097 | if templ_7745c5c3_Err != nil { | |
| 1069 | 1098 | return templ_7745c5c3_Err | |
| 1070 | 1099 | } | |
| 1071 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "</h1><form class=\"state-act\" data-js data-passkey-form><button type=\"submit\" class=\"btn primary\" data-passkey=\"login\" data-begin=\"") | |
| 1100 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "</h1><form class=\"state-act\" data-js data-passkey-form><button type=\"submit\" class=\"btn primary\" data-passkey=\"login\" data-begin=\"") | |
| 1072 | 1101 | if templ_7745c5c3_Err != nil { | |
| 1073 | 1102 | return templ_7745c5c3_Err | |
| 1074 | 1103 | } | |
| 1075 | - | var templ_7745c5c3_Var53 string | |
| 1076 | - | templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) | |
| 1104 | + | var templ_7745c5c3_Var54 string | |
| 1105 | + | templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) | |
| 1077 | 1106 | if templ_7745c5c3_Err != nil { | |
| 1078 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 200, Col: 87} | |
| 1107 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 209, Col: 87} | |
| 1079 | 1108 | } | |
| 1080 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var53) | |
| 1109 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var54) | |
| 1081 | 1110 | if templ_7745c5c3_Err != nil { | |
| 1082 | 1111 | return templ_7745c5c3_Err | |
| 1083 | 1112 | } | |
| 1084 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "\" data-finish=\"") | |
| 1113 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "\" data-finish=\"") | |
| 1085 | 1114 | if templ_7745c5c3_Err != nil { | |
| 1086 | 1115 | return templ_7745c5c3_Err | |
| 1087 | 1116 | } | |
| 1088 | - | var templ_7745c5c3_Var54 string | |
| 1089 | - | templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) | |
| 1117 | + | var templ_7745c5c3_Var55 string | |
| 1118 | + | templ_7745c5c3_Var55, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) | |
| 1090 | 1119 | if templ_7745c5c3_Err != nil { | |
| 1091 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 200, Col: 112} | |
| 1120 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 209, Col: 112} | |
| 1092 | 1121 | } | |
| 1093 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var54) | |
| 1122 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var55) | |
| 1094 | 1123 | if templ_7745c5c3_Err != nil { | |
| 1095 | 1124 | return templ_7745c5c3_Err | |
| 1096 | 1125 | } | |
| 1097 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "\">") | |
| 1126 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "\">") | |
| 1098 | 1127 | if templ_7745c5c3_Err != nil { | |
| 1099 | 1128 | return templ_7745c5c3_Err | |
| 1100 | 1129 | } | |
| 1101 | - | var templ_7745c5c3_Var55 string | |
| 1102 | - | templ_7745c5c3_Var55, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) | |
| 1130 | + | var templ_7745c5c3_Var56 string | |
| 1131 | + | templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) | |
| 1103 | 1132 | if templ_7745c5c3_Err != nil { | |
| 1104 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 200, Col: 125} | |
| 1133 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 209, Col: 125} | |
| 1105 | 1134 | } | |
| 1106 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var55)) | |
| 1135 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var56)) | |
| 1107 | 1136 | if templ_7745c5c3_Err != nil { | |
| 1108 | 1137 | return templ_7745c5c3_Err | |
| 1109 | 1138 | } | |
| 1110 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "</button></form><p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") | |
| 1139 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "</button></form><p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") | |
| 1111 | 1140 | if templ_7745c5c3_Err != nil { | |
| 1112 | 1141 | return templ_7745c5c3_Err | |
| 1113 | 1142 | } | |
| 1114 | 1143 | for _, line := range p.Lines { | |
| 1115 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "<p class=\"dim\">") | |
| 1144 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "<p class=\"dim\">") | |
| 1116 | 1145 | if templ_7745c5c3_Err != nil { | |
| 1117 | 1146 | return templ_7745c5c3_Err | |
| 1118 | 1147 | } | |
| 1119 | - | var templ_7745c5c3_Var56 string | |
| 1120 | - | templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.JoinStringErrs(line) | |
| 1148 | + | var templ_7745c5c3_Var57 string | |
| 1149 | + | templ_7745c5c3_Var57, templ_7745c5c3_Err = templ.JoinStringErrs(line) | |
| 1121 | 1150 | if templ_7745c5c3_Err != nil { | |
| 1122 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 204, Col: 25} | |
| 1151 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 213, Col: 25} | |
| 1123 | 1152 | } | |
| 1124 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var56)) | |
| 1153 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var57)) | |
| 1125 | 1154 | if templ_7745c5c3_Err != nil { | |
| 1126 | 1155 | return templ_7745c5c3_Err | |
| 1127 | 1156 | } | |
| 1128 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "</p>") | |
| 1157 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "</p>") | |
| 1129 | 1158 | if templ_7745c5c3_Err != nil { | |
| 1130 | 1159 | return templ_7745c5c3_Err | |
| 1131 | 1160 | } | |
| 1132 | 1161 | } | |
| 1133 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "<p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") | |
| 1162 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "<p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") | |
| 1134 | 1163 | if templ_7745c5c3_Err != nil { | |
| 1135 | 1164 | return templ_7745c5c3_Err | |
| 1136 | 1165 | } | |
| 1137 | 1166 | return nil | |
| 1138 | 1167 | }) | |
| 1139 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var51), templ_7745c5c3_Buffer) | |
| 1168 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var52), templ_7745c5c3_Buffer) | |
| 1140 | 1169 | if templ_7745c5c3_Err != nil { | |
| 1141 | 1170 | return templ_7745c5c3_Err | |
| 1142 | 1171 | } | |
| @@ -1161,12 +1190,12 @@ func Passkeys(l Layout, p PasskeysPage) templ.Component { | |||
| 1161 | 1190 | }() | |
| 1162 | 1191 | } | |
| 1163 | 1192 | ctx = templ.InitializeContext(ctx) | |
| 1164 | - | templ_7745c5c3_Var57 := templ.GetChildren(ctx) | |
| 1165 | - | if templ_7745c5c3_Var57 == nil { | |
| 1166 | - | templ_7745c5c3_Var57 = templ.NopComponent | |
| 1193 | + | templ_7745c5c3_Var58 := templ.GetChildren(ctx) | |
| 1194 | + | if templ_7745c5c3_Var58 == nil { | |
| 1195 | + | templ_7745c5c3_Var58 = templ.NopComponent | |
| 1167 | 1196 | } | |
| 1168 | 1197 | ctx = templ.ClearChildren(ctx) | |
| 1169 | - | templ_7745c5c3_Var58 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 1198 | + | templ_7745c5c3_Var59 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 1170 | 1199 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 1171 | 1200 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| 1172 | 1201 | if !templ_7745c5c3_IsBuffer { | |
| @@ -1178,231 +1207,231 @@ func Passkeys(l Layout, p PasskeysPage) templ.Component { | |||
| 1178 | 1207 | }() | |
| 1179 | 1208 | } | |
| 1180 | 1209 | ctx = templ.InitializeContext(ctx) | |
| 1181 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "<h2 class=\"rule-h\"><span>Passkeys</span><span class=\"count\">") | |
| 1210 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "<h2 class=\"rule-h\"><span>Passkeys</span><span class=\"count\">") | |
| 1182 | 1211 | if templ_7745c5c3_Err != nil { | |
| 1183 | 1212 | return templ_7745c5c3_Err | |
| 1184 | 1213 | } | |
| 1185 | - | var templ_7745c5c3_Var59 string | |
| 1186 | - | templ_7745c5c3_Var59, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Rows))) | |
| 1214 | + | var templ_7745c5c3_Var60 string | |
| 1215 | + | templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Rows))) | |
| 1187 | 1216 | if templ_7745c5c3_Err != nil { | |
| 1188 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 214, Col: 81} | |
| 1217 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 223, Col: 81} | |
| 1189 | 1218 | } | |
| 1190 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var59)) | |
| 1219 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var60)) | |
| 1191 | 1220 | if templ_7745c5c3_Err != nil { | |
| 1192 | 1221 | return templ_7745c5c3_Err | |
| 1193 | 1222 | } | |
| 1194 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "</span></h2><p class=\"dim\">A passkey signs you in from this device or your phone, without a terminal. Removing one signs every browser out.</p>") | |
| 1223 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "</span></h2><p class=\"dim\">A passkey signs you in from this device or your phone, without a terminal. Removing one signs every browser out.</p>") | |
| 1195 | 1224 | if templ_7745c5c3_Err != nil { | |
| 1196 | 1225 | return templ_7745c5c3_Err | |
| 1197 | 1226 | } | |
| 1198 | 1227 | if len(p.Rows) > 0 { | |
| 1199 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "<table class=\"list passkeys\" aria-label=\"Passkeys\"><thead><tr><th class=\"cur\"></th><th class=\"c-name\">Name</th><th class=\"c-when\">Created</th><th class=\"c-when\">Last used</th><th class=\"c-sync\">Synced</th><th class=\"c-act\"><span class=\"sr\">Remove</span></th></tr></thead> <tbody>") | |
| 1228 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "<table class=\"list passkeys\" aria-label=\"Passkeys\"><thead><tr><th class=\"cur\"></th><th class=\"c-name\">Name</th><th class=\"c-when\">Created</th><th class=\"c-when\">Last used</th><th class=\"c-sync\">Synced</th><th class=\"c-act\"><span class=\"sr\">Remove</span></th></tr></thead> <tbody>") | |
| 1200 | 1229 | if templ_7745c5c3_Err != nil { | |
| 1201 | 1230 | return templ_7745c5c3_Err | |
| 1202 | 1231 | } | |
| 1203 | 1232 | for _, r := range p.Rows { | |
| 1204 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "<tr><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-name\">") | |
| 1233 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "<tr><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-name\">") | |
| 1205 | 1234 | if templ_7745c5c3_Err != nil { | |
| 1206 | 1235 | return templ_7745c5c3_Err | |
| 1207 | 1236 | } | |
| 1208 | - | var templ_7745c5c3_Var60 string | |
| 1209 | - | templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) | |
| 1237 | + | var templ_7745c5c3_Var61 string | |
| 1238 | + | templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) | |
| 1210 | 1239 | if templ_7745c5c3_Err != nil { | |
| 1211 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 232, Col: 34} | |
| 1240 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 241, Col: 34} | |
| 1212 | 1241 | } | |
| 1213 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var60)) | |
| 1242 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var61)) | |
| 1214 | 1243 | if templ_7745c5c3_Err != nil { | |
| 1215 | 1244 | return templ_7745c5c3_Err | |
| 1216 | 1245 | } | |
| 1217 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, "</td><td class=\"c-when nowrap\"><time") | |
| 1246 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "</td><td class=\"c-when nowrap\"><time") | |
| 1218 | 1247 | if templ_7745c5c3_Err != nil { | |
| 1219 | 1248 | return templ_7745c5c3_Err | |
| 1220 | 1249 | } | |
| 1221 | 1250 | if r.CreatedAt != "" { | |
| 1222 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, " datetime=\"") | |
| 1251 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, " datetime=\"") | |
| 1223 | 1252 | if templ_7745c5c3_Err != nil { | |
| 1224 | 1253 | return templ_7745c5c3_Err | |
| 1225 | 1254 | } | |
| 1226 | - | var templ_7745c5c3_Var61 string | |
| 1227 | - | templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.CreatedAt) | |
| 1255 | + | var templ_7745c5c3_Var62 string | |
| 1256 | + | templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.CreatedAt) | |
| 1228 | 1257 | if templ_7745c5c3_Err != nil { | |
| 1229 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 236, Col: 32} | |
| 1258 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 245, Col: 32} | |
| 1230 | 1259 | } | |
| 1231 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var61) | |
| 1260 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var62) | |
| 1232 | 1261 | if templ_7745c5c3_Err != nil { | |
| 1233 | 1262 | return templ_7745c5c3_Err | |
| 1234 | 1263 | } | |
| 1235 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, "\"") | |
| 1264 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, "\"") | |
| 1236 | 1265 | if templ_7745c5c3_Err != nil { | |
| 1237 | 1266 | return templ_7745c5c3_Err | |
| 1238 | 1267 | } | |
| 1239 | 1268 | } | |
| 1240 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, ">") | |
| 1269 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, ">") | |
| 1241 | 1270 | if templ_7745c5c3_Err != nil { | |
| 1242 | 1271 | return templ_7745c5c3_Err | |
| 1243 | 1272 | } | |
| 1244 | - | var templ_7745c5c3_Var62 string | |
| 1245 | - | templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(r.Created) | |
| 1273 | + | var templ_7745c5c3_Var63 string | |
| 1274 | + | templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.JoinStringErrs(r.Created) | |
| 1246 | 1275 | if templ_7745c5c3_Err != nil { | |
| 1247 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 238, Col: 20} | |
| 1276 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 247, Col: 20} | |
| 1248 | 1277 | } | |
| 1249 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62)) | |
| 1278 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var63)) | |
| 1250 | 1279 | if templ_7745c5c3_Err != nil { | |
| 1251 | 1280 | return templ_7745c5c3_Err | |
| 1252 | 1281 | } | |
| 1253 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, "</time></td><td class=\"c-when nowrap\"><time") | |
| 1282 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, "</time></td><td class=\"c-when nowrap\"><time") | |
| 1254 | 1283 | if templ_7745c5c3_Err != nil { | |
| 1255 | 1284 | return templ_7745c5c3_Err | |
| 1256 | 1285 | } | |
| 1257 | 1286 | if r.LastUsedAt != "" { | |
| 1258 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, " datetime=\"") | |
| 1287 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, " datetime=\"") | |
| 1259 | 1288 | if templ_7745c5c3_Err != nil { | |
| 1260 | 1289 | return templ_7745c5c3_Err | |
| 1261 | 1290 | } | |
| 1262 | - | var templ_7745c5c3_Var63 string | |
| 1263 | - | templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.LastUsedAt) | |
| 1291 | + | var templ_7745c5c3_Var64 string | |
| 1292 | + | templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.LastUsedAt) | |
| 1264 | 1293 | if templ_7745c5c3_Err != nil { | |
| 1265 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 243, Col: 33} | |
| 1294 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 252, Col: 33} | |
| 1266 | 1295 | } | |
| 1267 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var63) | |
| 1296 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var64) | |
| 1268 | 1297 | if templ_7745c5c3_Err != nil { | |
| 1269 | 1298 | return templ_7745c5c3_Err | |
| 1270 | 1299 | } | |
| 1271 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, "\"") | |
| 1300 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "\"") | |
| 1272 | 1301 | if templ_7745c5c3_Err != nil { | |
| 1273 | 1302 | return templ_7745c5c3_Err | |
| 1274 | 1303 | } | |
| 1275 | 1304 | } | |
| 1276 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, ">") | |
| 1305 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, ">") | |
| 1277 | 1306 | if templ_7745c5c3_Err != nil { | |
| 1278 | 1307 | return templ_7745c5c3_Err | |
| 1279 | 1308 | } | |
| 1280 | - | var templ_7745c5c3_Var64 string | |
| 1281 | - | templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.JoinStringErrs(r.LastUsed) | |
| 1309 | + | var templ_7745c5c3_Var65 string | |
| 1310 | + | templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinStringErrs(r.LastUsed) | |
| 1282 | 1311 | if templ_7745c5c3_Err != nil { | |
| 1283 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 245, Col: 21} | |
| 1312 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 254, Col: 21} | |
| 1284 | 1313 | } | |
| 1285 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var64)) | |
| 1314 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) | |
| 1286 | 1315 | if templ_7745c5c3_Err != nil { | |
| 1287 | 1316 | return templ_7745c5c3_Err | |
| 1288 | 1317 | } | |
| 1289 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "</time></td><td class=\"c-sync\">") | |
| 1318 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, "</time></td><td class=\"c-sync\">") | |
| 1290 | 1319 | if templ_7745c5c3_Err != nil { | |
| 1291 | 1320 | return templ_7745c5c3_Err | |
| 1292 | 1321 | } | |
| 1293 | 1322 | if r.Synced { | |
| 1294 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, "yes") | |
| 1323 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "yes") | |
| 1295 | 1324 | if templ_7745c5c3_Err != nil { | |
| 1296 | 1325 | return templ_7745c5c3_Err | |
| 1297 | 1326 | } | |
| 1298 | 1327 | } else { | |
| 1299 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "no") | |
| 1328 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, "no") | |
| 1300 | 1329 | if templ_7745c5c3_Err != nil { | |
| 1301 | 1330 | return templ_7745c5c3_Err | |
| 1302 | 1331 | } | |
| 1303 | 1332 | } | |
| 1304 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "</td><td class=\"c-act\"><form method=\"post\" action=\"") | |
| 1333 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "</td><td class=\"c-act\"><form method=\"post\" action=\"") | |
| 1305 | 1334 | if templ_7745c5c3_Err != nil { | |
| 1306 | 1335 | return templ_7745c5c3_Err | |
| 1307 | 1336 | } | |
| 1308 | - | var templ_7745c5c3_Var65 templ.SafeURL | |
| 1309 | - | templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Remove)) | |
| 1337 | + | var templ_7745c5c3_Var66 templ.SafeURL | |
| 1338 | + | templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Remove)) | |
| 1310 | 1339 | if templ_7745c5c3_Err != nil { | |
| 1311 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 255, Col: 60} | |
| 1340 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 264, Col: 60} | |
| 1312 | 1341 | } | |
| 1313 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) | |
| 1342 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var66)) | |
| 1314 | 1343 | if templ_7745c5c3_Err != nil { | |
| 1315 | 1344 | return templ_7745c5c3_Err | |
| 1316 | 1345 | } | |
| 1317 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 101, "\"><button type=\"submit\" class=\"btn danger\" aria-label=\"") | |
| 1346 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "\"><button type=\"submit\" class=\"btn danger\" aria-label=\"") | |
| 1318 | 1347 | if templ_7745c5c3_Err != nil { | |
| 1319 | 1348 | return templ_7745c5c3_Err | |
| 1320 | 1349 | } | |
| 1321 | - | var templ_7745c5c3_Var66 string | |
| 1322 | - | templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.ResolveAttributeValue("Remove passkey " + r.Name) | |
| 1350 | + | var templ_7745c5c3_Var67 string | |
| 1351 | + | templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.ResolveAttributeValue("Remove passkey " + r.Name) | |
| 1323 | 1352 | if templ_7745c5c3_Err != nil { | |
| 1324 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 256, Col: 89} | |
| 1353 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 265, Col: 89} | |
| 1325 | 1354 | } | |
| 1326 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var66) | |
| 1355 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var67) | |
| 1327 | 1356 | if templ_7745c5c3_Err != nil { | |
| 1328 | 1357 | return templ_7745c5c3_Err | |
| 1329 | 1358 | } | |
| 1330 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 102, "\">Remove</button></form></td></tr>") | |
| 1359 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 101, "\">Remove</button></form></td></tr>") | |
| 1331 | 1360 | if templ_7745c5c3_Err != nil { | |
| 1332 | 1361 | return templ_7745c5c3_Err | |
| 1333 | 1362 | } | |
| 1334 | 1363 | } | |
| 1335 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 103, "</tbody></table>") | |
| 1364 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 102, "</tbody></table>") | |
| 1336 | 1365 | if templ_7745c5c3_Err != nil { | |
| 1337 | 1366 | return templ_7745c5c3_Err | |
| 1338 | 1367 | } | |
| 1339 | 1368 | } else { | |
| 1340 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 104, "<p class=\"lede dim\">no passkeys yet.</p>") | |
| 1369 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 103, "<p class=\"lede dim\">no passkeys yet.</p>") | |
| 1341 | 1370 | if templ_7745c5c3_Err != nil { | |
| 1342 | 1371 | return templ_7745c5c3_Err | |
| 1343 | 1372 | } | |
| 1344 | 1373 | } | |
| 1345 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 105, " ") | |
| 1374 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 104, " ") | |
| 1346 | 1375 | if templ_7745c5c3_Err != nil { | |
| 1347 | 1376 | return templ_7745c5c3_Err | |
| 1348 | 1377 | } | |
| 1349 | 1378 | if p.Full { | |
| 1350 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 106, "<p class=\"dim\">") | |
| 1379 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 105, "<p class=\"dim\">") | |
| 1351 | 1380 | if templ_7745c5c3_Err != nil { | |
| 1352 | 1381 | return templ_7745c5c3_Err | |
| 1353 | 1382 | } | |
| 1354 | - | var templ_7745c5c3_Var67 string | |
| 1355 | - | templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Max)) | |
| 1383 | + | var templ_7745c5c3_Var68 string | |
| 1384 | + | templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Max)) | |
| 1356 | 1385 | if templ_7745c5c3_Err != nil { | |
| 1357 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 267, Col: 31} | |
| 1386 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 276, Col: 31} | |
| 1358 | 1387 | } | |
| 1359 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var67)) | |
| 1388 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68)) | |
| 1360 | 1389 | if templ_7745c5c3_Err != nil { | |
| 1361 | 1390 | return templ_7745c5c3_Err | |
| 1362 | 1391 | } | |
| 1363 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 107, " passkeys are registered, the most there can be. Remove one to add another.</p>") | |
| 1392 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 106, " passkeys are registered, the most there can be. Remove one to add another.</p>") | |
| 1364 | 1393 | if templ_7745c5c3_Err != nil { | |
| 1365 | 1394 | return templ_7745c5c3_Err | |
| 1366 | 1395 | } | |
| 1367 | 1396 | } else { | |
| 1368 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 108, "<form class=\"passkey-add\" data-js data-passkey-form><label for=\"passkey-name\" class=\"sr\">Name of the new passkey</label> <input id=\"passkey-name\" type=\"text\" placeholder=\"Name, for example Pixel 9\" autocomplete=\"off\" data-passkey-name> <button type=\"submit\" class=\"btn primary\" data-passkey=\"register\" data-begin=\"") | |
| 1397 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 107, "<form class=\"passkey-add\" data-js data-passkey-form><label for=\"passkey-name\" class=\"sr\">Name of the new passkey</label> <input id=\"passkey-name\" type=\"text\" placeholder=\"Name, for example Pixel 9\" autocomplete=\"off\" data-passkey-name> <button type=\"submit\" class=\"btn primary\" data-passkey=\"register\" data-begin=\"") | |
| 1369 | 1398 | if templ_7745c5c3_Err != nil { | |
| 1370 | 1399 | return templ_7745c5c3_Err | |
| 1371 | 1400 | } | |
| 1372 | - | var templ_7745c5c3_Var68 string | |
| 1373 | - | templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) | |
| 1401 | + | var templ_7745c5c3_Var69 string | |
| 1402 | + | templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) | |
| 1374 | 1403 | if templ_7745c5c3_Err != nil { | |
| 1375 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 272, Col: 90} | |
| 1404 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 281, Col: 90} | |
| 1376 | 1405 | } | |
| 1377 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var68) | |
| 1406 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var69) | |
| 1378 | 1407 | if templ_7745c5c3_Err != nil { | |
| 1379 | 1408 | return templ_7745c5c3_Err | |
| 1380 | 1409 | } | |
| 1381 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "\" data-finish=\"") | |
| 1410 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 108, "\" data-finish=\"") | |
| 1382 | 1411 | if templ_7745c5c3_Err != nil { | |
| 1383 | 1412 | return templ_7745c5c3_Err | |
| 1384 | 1413 | } | |
| 1385 | - | var templ_7745c5c3_Var69 string | |
| 1386 | - | templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) | |
| 1414 | + | var templ_7745c5c3_Var70 string | |
| 1415 | + | templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) | |
| 1387 | 1416 | if templ_7745c5c3_Err != nil { | |
| 1388 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 272, Col: 115} | |
| 1417 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 281, Col: 115} | |
| 1389 | 1418 | } | |
| 1390 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var69) | |
| 1419 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var70) | |
| 1391 | 1420 | if templ_7745c5c3_Err != nil { | |
| 1392 | 1421 | return templ_7745c5c3_Err | |
| 1393 | 1422 | } | |
| 1394 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, "\">Add a passkey</button></form>") | |
| 1423 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "\">Add a passkey</button></form>") | |
| 1395 | 1424 | if templ_7745c5c3_Err != nil { | |
| 1396 | 1425 | return templ_7745c5c3_Err | |
| 1397 | 1426 | } | |
| 1398 | 1427 | } | |
| 1399 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 111, " <p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") | |
| 1428 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, " <p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") | |
| 1400 | 1429 | if templ_7745c5c3_Err != nil { | |
| 1401 | 1430 | return templ_7745c5c3_Err | |
| 1402 | 1431 | } | |
| 1403 | 1432 | return nil | |
| 1404 | 1433 | }) | |
| 1405 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var58), templ_7745c5c3_Buffer) | |
| 1434 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var59), templ_7745c5c3_Buffer) | |
| 1406 | 1435 | if templ_7745c5c3_Err != nil { | |
| 1407 | 1436 | return templ_7745c5c3_Err | |
| 1408 | 1437 | } | |
| @@ -215,7 +215,10 @@ func Summary(l Layout, p SummaryPage) templ.Component { | |||||
| 215 | }) | 215 | }) | ||
| 216 | } | 216 | } | ||
| 217 | 217 | ||||
| 218 | - | func summaryRail(p SummaryPage) templ.Component { | 218 | + | // latestTagFact is the "latest tag" row of About: the newest tag (its |
| 219 | + | // commit subject on hover), how old it is, and the count of tags, a link to | |||
| 220 | + | // all of them. With too many tags to date them, the count only. | |||
| 221 | + | func latestTagFact(t LatestTag) templ.Component { | |||
| 219 | return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 222 | return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | ||
| 220 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 223 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 221 | if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { | 224 | if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { | ||
| @@ -236,189 +239,215 @@ func summaryRail(p SummaryPage) templ.Component { | |||||
| 236 | templ_7745c5c3_Var11 = templ.NopComponent | 239 | templ_7745c5c3_Var11 = templ.NopComponent | ||
| 237 | } | 240 | } | ||
| 238 | ctx = templ.ClearChildren(ctx) | 241 | ctx = templ.ClearChildren(ctx) | ||
| 239 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<section aria-labelledby=\"r-clone\"><h2 id=\"r-clone\">Clone</h2>") | 242 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<dt>latest tag</dt><dd class=\"latest-tag\">") |
| 240 | - | if templ_7745c5c3_Err != nil { | |||
| 241 | - | return templ_7745c5c3_Err | |||
| 242 | - | } | |||
| 243 | - | templ_7745c5c3_Err = CloneBlock(p.Clone).Render(ctx, templ_7745c5c3_Buffer) | |||
| 244 | - | if templ_7745c5c3_Err != nil { | |||
| 245 | - | return templ_7745c5c3_Err | |||
| 246 | - | } | |||
| 247 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</section><section aria-labelledby=\"r-facts\"><h2 id=\"r-facts\">About</h2>") | |||
| 248 | - | if templ_7745c5c3_Err != nil { | |||
| 249 | - | return templ_7745c5c3_Err | |||
| 250 | - | } | |||
| 251 | - | templ_7745c5c3_Err = Facts(p.Facts).Render(ctx, templ_7745c5c3_Buffer) | |||
| 252 | - | if templ_7745c5c3_Err != nil { | |||
| 253 | - | return templ_7745c5c3_Err | |||
| 254 | - | } | |||
| 255 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</section>") | |||
| 256 | if templ_7745c5c3_Err != nil { | 243 | if templ_7745c5c3_Err != nil { | ||
| 257 | return templ_7745c5c3_Err | 244 | return templ_7745c5c3_Err | ||
| 258 | } | 245 | } | ||
| 259 | - | if p.Latest != nil { | 246 | + | if t.Name != "" { |
| 260 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<section aria-labelledby=\"r-tag\"><h2 id=\"r-tag\">Tags <span class=\"count\">") | 247 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<a class=\"tag-name\" href=\"") |
| 261 | if templ_7745c5c3_Err != nil { | 248 | if templ_7745c5c3_Err != nil { | ||
| 262 | return templ_7745c5c3_Err | 249 | return templ_7745c5c3_Err | ||
| 263 | } | 250 | } | ||
| 264 | - | var templ_7745c5c3_Var12 string | 251 | + | var templ_7745c5c3_Var12 templ.SafeURL |
| 265 | - | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Latest.Count)) | 252 | + | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(t.Href)) |
| 266 | if templ_7745c5c3_Err != nil { | 253 | if templ_7745c5c3_Err != nil { | ||
| 267 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 65} | 254 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 51} |
| 268 | } | 255 | } | ||
| 269 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) | 256 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) | ||
| 270 | if templ_7745c5c3_Err != nil { | 257 | if templ_7745c5c3_Err != nil { | ||
| 271 | return templ_7745c5c3_Err | 258 | return templ_7745c5c3_Err | ||
| 272 | } | 259 | } | ||
| 273 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</span> <a href=\"") | 260 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\" title=\"") |
| 274 | if templ_7745c5c3_Err != nil { | 261 | if templ_7745c5c3_Err != nil { | ||
| 275 | return templ_7745c5c3_Err | 262 | return templ_7745c5c3_Err | ||
| 276 | } | 263 | } | ||
| 277 | - | var templ_7745c5c3_Var13 templ.SafeURL | 264 | + | var templ_7745c5c3_Var13 string |
| 278 | - | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Latest.RefsHref)) | 265 | + | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.ResolveAttributeValue(t.Subject) |
| 279 | if templ_7745c5c3_Err != nil { | 266 | if templ_7745c5c3_Err != nil { | ||
| 280 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 117} | 267 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 71} |
| 281 | } | 268 | } | ||
| 282 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) | 269 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var13) |
| 283 | if templ_7745c5c3_Err != nil { | 270 | if templ_7745c5c3_Err != nil { | ||
| 284 | return templ_7745c5c3_Err | 271 | return templ_7745c5c3_Err | ||
| 285 | } | 272 | } | ||
| 286 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\">View all</a></h2>") | 273 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\"><span class=\"ico i-tag\" aria-hidden=\"true\"></span>") |
| 287 | if templ_7745c5c3_Err != nil { | 274 | if templ_7745c5c3_Err != nil { | ||
| 288 | return templ_7745c5c3_Err | 275 | return templ_7745c5c3_Err | ||
| 289 | } | 276 | } | ||
| 290 | - | if p.Latest.Name != "" { | 277 | + | var templ_7745c5c3_Var14 string |
| 291 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<div class=\"latest-tag\"><a class=\"tag-name\" href=\"") | 278 | + | templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(t.Name) |
| 292 | - | if templ_7745c5c3_Err != nil { | 279 | + | if templ_7745c5c3_Err != nil { |
| 293 | - | return templ_7745c5c3_Err | 280 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 64, Col: 132} |
| 294 | - | } | 281 | + | } |
| 295 | - | var templ_7745c5c3_Var14 templ.SafeURL | 282 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) |
| 296 | - | templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Latest.Href)) | 283 | + | if templ_7745c5c3_Err != nil { |
| 297 | - | if templ_7745c5c3_Err != nil { | 284 | + | return templ_7745c5c3_Err |
| 298 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 67, Col: 60} | 285 | + | } |
| 299 | - | } | 286 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</a> ") |
| 300 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) | 287 | + | if templ_7745c5c3_Err != nil { |
| 301 | - | if templ_7745c5c3_Err != nil { | 288 | + | return templ_7745c5c3_Err |
| 302 | - | return templ_7745c5c3_Err | 289 | + | } |
| 303 | - | } | 290 | + | if t.WhenAt != "" { |
| 304 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\"><span class=\"ico i-tag\" aria-hidden=\"true\"></span>") | 291 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<time class=\"dim\" datetime=\"") |
| 305 | if templ_7745c5c3_Err != nil { | 292 | if templ_7745c5c3_Err != nil { | ||
| 306 | return templ_7745c5c3_Err | 293 | return templ_7745c5c3_Err | ||
| 307 | } | 294 | } | ||
| 308 | var templ_7745c5c3_Var15 string | 295 | var templ_7745c5c3_Var15 string | ||
| 309 | - | templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(p.Latest.Name) | 296 | + | templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.ResolveAttributeValue(t.WhenAt) |
| 310 | if templ_7745c5c3_Err != nil { | 297 | if templ_7745c5c3_Err != nil { | ||
| 311 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 67, Col: 128} | 298 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 66, Col: 41} |
| 312 | } | 299 | } | ||
| 313 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15)) | 300 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var15) |
| 314 | if templ_7745c5c3_Err != nil { | 301 | if templ_7745c5c3_Err != nil { | ||
| 315 | return templ_7745c5c3_Err | 302 | return templ_7745c5c3_Err | ||
| 316 | } | 303 | } | ||
| 317 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</a> <span class=\"pill\">latest</span> <time class=\"dim\" datetime=\"") | 304 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "\" title=\"") |
| 318 | if templ_7745c5c3_Err != nil { | 305 | if templ_7745c5c3_Err != nil { | ||
| 319 | return templ_7745c5c3_Err | 306 | return templ_7745c5c3_Err | ||
| 320 | } | 307 | } | ||
| 321 | var templ_7745c5c3_Var16 string | 308 | var templ_7745c5c3_Var16 string | ||
| 322 | - | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Latest.WhenAt) | 309 | + | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.ResolveAttributeValue(t.WhenAt) |
| 323 | if templ_7745c5c3_Err != nil { | 310 | if templ_7745c5c3_Err != nil { | ||
| 324 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 49} | 311 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 66, Col: 60} |
| 325 | } | 312 | } | ||
| 326 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16) | 313 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var16) | ||
| 327 | if templ_7745c5c3_Err != nil { | 314 | if templ_7745c5c3_Err != nil { | ||
| 328 | return templ_7745c5c3_Err | 315 | return templ_7745c5c3_Err | ||
| 329 | } | 316 | } | ||
| 330 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "\" title=\"") | 317 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\">") |
| 331 | if templ_7745c5c3_Err != nil { | 318 | if templ_7745c5c3_Err != nil { | ||
| 332 | return templ_7745c5c3_Err | 319 | return templ_7745c5c3_Err | ||
| 333 | } | 320 | } | ||
| 334 | var templ_7745c5c3_Var17 string | 321 | var templ_7745c5c3_Var17 string | ||
| 335 | - | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Latest.WhenAt) | 322 | + | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(t.When) |
| 336 | - | if templ_7745c5c3_Err != nil { | |||
| 337 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 75} | |||
| 338 | - | } | |||
| 339 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var17) | |||
| 340 | - | if templ_7745c5c3_Err != nil { | |||
| 341 | - | return templ_7745c5c3_Err | |||
| 342 | - | } | |||
| 343 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "\">") | |||
| 344 | - | if templ_7745c5c3_Err != nil { | |||
| 345 | - | return templ_7745c5c3_Err | |||
| 346 | - | } | |||
| 347 | - | var templ_7745c5c3_Var18 string | |||
| 348 | - | templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(p.Latest.When) | |||
| 349 | - | if templ_7745c5c3_Err != nil { | |||
| 350 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 93} | |||
| 351 | - | } | |||
| 352 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) | |||
| 353 | - | if templ_7745c5c3_Err != nil { | |||
| 354 | - | return templ_7745c5c3_Err | |||
| 355 | - | } | |||
| 356 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</time> ") | |||
| 357 | - | if templ_7745c5c3_Err != nil { | |||
| 358 | - | return templ_7745c5c3_Err | |||
| 359 | - | } | |||
| 360 | - | if p.Latest.Subject != "" { | |||
| 361 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<p class=\"tag-sub dim\">") | |||
| 362 | - | if templ_7745c5c3_Err != nil { | |||
| 363 | - | return templ_7745c5c3_Err | |||
| 364 | - | } | |||
| 365 | - | var templ_7745c5c3_Var19 string | |||
| 366 | - | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(p.Latest.Subject) | |||
| 367 | - | if templ_7745c5c3_Err != nil { | |||
| 368 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 71, Col: 47} | |||
| 369 | - | } | |||
| 370 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | |||
| 371 | - | if templ_7745c5c3_Err != nil { | |||
| 372 | - | return templ_7745c5c3_Err | |||
| 373 | - | } | |||
| 374 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</p>") | |||
| 375 | - | if templ_7745c5c3_Err != nil { | |||
| 376 | - | return templ_7745c5c3_Err | |||
| 377 | - | } | |||
| 378 | - | } | |||
| 379 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</div>") | |||
| 380 | if templ_7745c5c3_Err != nil { | 323 | if templ_7745c5c3_Err != nil { | ||
| 381 | - | return templ_7745c5c3_Err | 324 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 66, Col: 71} |
| 382 | } | 325 | } | ||
| 383 | - | } else { | 326 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) |
| 384 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<p class=\"dim\">") | |||
| 385 | if templ_7745c5c3_Err != nil { | 327 | if templ_7745c5c3_Err != nil { | ||
| 386 | return templ_7745c5c3_Err | 328 | return templ_7745c5c3_Err | ||
| 387 | } | 329 | } | ||
| 388 | - | var templ_7745c5c3_Var20 string | 330 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</time> ") |
| 389 | - | templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.Latest.Count, "tag", "tags")) | |||
| 390 | - | if templ_7745c5c3_Err != nil { | |||
| 391 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 75, Col: 58} | |||
| 392 | - | } | |||
| 393 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) | |||
| 394 | if templ_7745c5c3_Err != nil { | 331 | if templ_7745c5c3_Err != nil { | ||
| 395 | return templ_7745c5c3_Err | 332 | return templ_7745c5c3_Err | ||
| 396 | } | 333 | } | ||
| 397 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</p>") | 334 | + | } |
| 398 | - | if templ_7745c5c3_Err != nil { | 335 | + | } |
| 399 | - | return templ_7745c5c3_Err | 336 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "<a class=\"all-tags\" href=\"") |
| 337 | + | if templ_7745c5c3_Err != nil { | |||
| 338 | + | return templ_7745c5c3_Err | |||
| 339 | + | } | |||
| 340 | + | var templ_7745c5c3_Var18 templ.SafeURL | |||
| 341 | + | templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(t.RefsHref)) | |||
| 342 | + | if templ_7745c5c3_Err != nil { | |||
| 343 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 54} | |||
| 344 | + | } | |||
| 345 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) | |||
| 346 | + | if templ_7745c5c3_Err != nil { | |||
| 347 | + | return templ_7745c5c3_Err | |||
| 348 | + | } | |||
| 349 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "\">") | |||
| 350 | + | if templ_7745c5c3_Err != nil { | |||
| 351 | + | return templ_7745c5c3_Err | |||
| 352 | + | } | |||
| 353 | + | var templ_7745c5c3_Var19 string | |||
| 354 | + | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(plural(t.Count, "tag", "tags")) | |||
| 355 | + | if templ_7745c5c3_Err != nil { | |||
| 356 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 69, Col: 89} | |||
| 357 | + | } | |||
| 358 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | |||
| 359 | + | if templ_7745c5c3_Err != nil { | |||
| 360 | + | return templ_7745c5c3_Err | |||
| 361 | + | } | |||
| 362 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</a></dd>") | |||
| 363 | + | if templ_7745c5c3_Err != nil { | |||
| 364 | + | return templ_7745c5c3_Err | |||
| 365 | + | } | |||
| 366 | + | return nil | |||
| 367 | + | }) | |||
| 368 | + | } | |||
| 369 | + | ||||
| 370 | + | func summaryRail(p SummaryPage) templ.Component { | |||
| 371 | + | return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |||
| 372 | + | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |||
| 373 | + | if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { | |||
| 374 | + | return templ_7745c5c3_CtxErr | |||
| 375 | + | } | |||
| 376 | + | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |||
| 377 | + | if !templ_7745c5c3_IsBuffer { | |||
| 378 | + | defer func() { | |||
| 379 | + | templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) | |||
| 380 | + | if templ_7745c5c3_Err == nil { | |||
| 381 | + | templ_7745c5c3_Err = templ_7745c5c3_BufErr | |||
| 400 | } | 382 | } | ||
| 383 | + | }() | |||
| 384 | + | } | |||
| 385 | + | ctx = templ.InitializeContext(ctx) | |||
| 386 | + | templ_7745c5c3_Var20 := templ.GetChildren(ctx) | |||
| 387 | + | if templ_7745c5c3_Var20 == nil { | |||
| 388 | + | templ_7745c5c3_Var20 = templ.NopComponent | |||
| 389 | + | } | |||
| 390 | + | ctx = templ.ClearChildren(ctx) | |||
| 391 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<section aria-labelledby=\"r-clone\"><h2 id=\"r-clone\">Clone</h2>") | |||
| 392 | + | if templ_7745c5c3_Err != nil { | |||
| 393 | + | return templ_7745c5c3_Err | |||
| 394 | + | } | |||
| 395 | + | templ_7745c5c3_Err = CloneBlock(p.Clone).Render(ctx, templ_7745c5c3_Buffer) | |||
| 396 | + | if templ_7745c5c3_Err != nil { | |||
| 397 | + | return templ_7745c5c3_Err | |||
| 398 | + | } | |||
| 399 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</section><section aria-labelledby=\"r-facts\"><h2 id=\"r-facts\">About</h2><dl class=\"kv\">") | |||
| 400 | + | if templ_7745c5c3_Err != nil { | |||
| 401 | + | return templ_7745c5c3_Err | |||
| 402 | + | } | |||
| 403 | + | for _, f := range p.Facts { | |||
| 404 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<dt>") | |||
| 405 | + | if templ_7745c5c3_Err != nil { | |||
| 406 | + | return templ_7745c5c3_Err | |||
| 407 | + | } | |||
| 408 | + | var templ_7745c5c3_Var21 string | |||
| 409 | + | templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(f.Key) | |||
| 410 | + | if templ_7745c5c3_Err != nil { | |||
| 411 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 80, Col: 15} | |||
| 412 | + | } | |||
| 413 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) | |||
| 414 | + | if templ_7745c5c3_Err != nil { | |||
| 415 | + | return templ_7745c5c3_Err | |||
| 416 | + | } | |||
| 417 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "</dt>") | |||
| 418 | + | if templ_7745c5c3_Err != nil { | |||
| 419 | + | return templ_7745c5c3_Err | |||
| 420 | + | } | |||
| 421 | + | templ_7745c5c3_Err = FactValue(f).Render(ctx, templ_7745c5c3_Buffer) | |||
| 422 | + | if templ_7745c5c3_Err != nil { | |||
| 423 | + | return templ_7745c5c3_Err | |||
| 401 | } | 424 | } | ||
| 402 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</section>") | 425 | + | } |
| 426 | + | if p.Latest != nil { | |||
| 427 | + | templ_7745c5c3_Err = latestTagFact(*p.Latest).Render(ctx, templ_7745c5c3_Buffer) | |||
| 403 | if templ_7745c5c3_Err != nil { | 428 | if templ_7745c5c3_Err != nil { | ||
| 404 | return templ_7745c5c3_Err | 429 | return templ_7745c5c3_Err | ||
| 405 | } | 430 | } | ||
| 406 | } | 431 | } | ||
| 432 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</dl></section>") | |||
| 433 | + | if templ_7745c5c3_Err != nil { | |||
| 434 | + | return templ_7745c5c3_Err | |||
| 435 | + | } | |||
| 407 | if len(p.Recent) > 0 { | 436 | if len(p.Recent) > 0 { | ||
| 408 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "<section aria-labelledby=\"r-recent\"><h2 id=\"r-recent\">Recent commits <a href=\"") | 437 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "<section aria-labelledby=\"r-recent\"><h2 id=\"r-recent\">Recent commits <a href=\"") |
| 409 | if templ_7745c5c3_Err != nil { | 438 | if templ_7745c5c3_Err != nil { | ||
| 410 | return templ_7745c5c3_Err | 439 | return templ_7745c5c3_Err | ||
| 411 | } | 440 | } | ||
| 412 | - | var templ_7745c5c3_Var21 templ.SafeURL | 441 | + | var templ_7745c5c3_Var22 templ.SafeURL |
| 413 | - | templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.AllHref)) | 442 | + | templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.AllHref)) |
| 414 | if templ_7745c5c3_Err != nil { | 443 | if templ_7745c5c3_Err != nil { | ||
| 415 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 80, Col: 105} | 444 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 89, Col: 105} |
| 416 | } | 445 | } | ||
| 417 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) | 446 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22)) |
| 418 | if templ_7745c5c3_Err != nil { | 447 | if templ_7745c5c3_Err != nil { | ||
| 419 | return templ_7745c5c3_Err | 448 | return templ_7745c5c3_Err | ||
| 420 | } | 449 | } | ||
| 421 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\">View all</a></h2>") | 450 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\">View all</a></h2>") |
| 422 | if templ_7745c5c3_Err != nil { | 451 | if templ_7745c5c3_Err != nil { | ||
| 423 | return templ_7745c5c3_Err | 452 | return templ_7745c5c3_Err | ||
| 424 | } | 453 | } | ||
| @@ -426,7 +455,7 @@ func summaryRail(p SummaryPage) templ.Component { | |||||
| 426 | if templ_7745c5c3_Err != nil { | 455 | if templ_7745c5c3_Err != nil { | ||
| 427 | return templ_7745c5c3_Err | 456 | return templ_7745c5c3_Err | ||
| 428 | } | 457 | } | ||
| 429 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "</section>") | 458 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</section>") |
| 430 | if templ_7745c5c3_Err != nil { | 459 | if templ_7745c5c3_Err != nil { | ||
| 431 | return templ_7745c5c3_Err | 460 | return templ_7745c5c3_Err | ||
| 432 | } | 461 | } | ||
| @@ -438,7 +467,7 @@ func summaryRail(p SummaryPage) templ.Component { | |||||
| 438 | } | 467 | } | ||
| 439 | } | 468 | } | ||
| 440 | if len(p.Outline) > 0 && p.Readme != nil { | 469 | if len(p.Outline) > 0 && p.Readme != nil { | ||
| 441 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "<section aria-labelledby=\"r-outline\"><h2 id=\"r-outline\">On this page</h2>") | 470 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "<section aria-labelledby=\"r-outline\"><h2 id=\"r-outline\">On this page</h2>") |
| 442 | if templ_7745c5c3_Err != nil { | 471 | if templ_7745c5c3_Err != nil { | ||
| 443 | return templ_7745c5c3_Err | 472 | return templ_7745c5c3_Err | ||
| 444 | } | 473 | } | ||
| @@ -446,7 +475,7 @@ func summaryRail(p SummaryPage) templ.Component { | |||||
| 446 | if templ_7745c5c3_Err != nil { | 475 | if templ_7745c5c3_Err != nil { | ||
| 447 | return templ_7745c5c3_Err | 476 | return templ_7745c5c3_Err | ||
| 448 | } | 477 | } | ||
| 449 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</section>") | 478 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</section>") |
| 450 | if templ_7745c5c3_Err != nil { | 479 | if templ_7745c5c3_Err != nil { | ||
| 451 | return templ_7745c5c3_Err | 480 | return templ_7745c5c3_Err | ||
| 452 | } | 481 | } | ||
| @@ -472,12 +501,12 @@ func Refs(l Layout, p RefsPage) templ.Component { | |||||
| 472 | }() | 501 | }() | ||
| 473 | } | 502 | } | ||
| 474 | ctx = templ.InitializeContext(ctx) | 503 | ctx = templ.InitializeContext(ctx) | ||
| 475 | - | templ_7745c5c3_Var22 := templ.GetChildren(ctx) | 504 | + | templ_7745c5c3_Var23 := templ.GetChildren(ctx) |
| 476 | - | if templ_7745c5c3_Var22 == nil { | 505 | + | if templ_7745c5c3_Var23 == nil { |
| 477 | - | templ_7745c5c3_Var22 = templ.NopComponent | 506 | + | templ_7745c5c3_Var23 = templ.NopComponent |
| 478 | } | 507 | } | ||
| 479 | ctx = templ.ClearChildren(ctx) | 508 | ctx = templ.ClearChildren(ctx) | ||
| 480 | - | templ_7745c5c3_Var23 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 509 | + | templ_7745c5c3_Var24 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { |
| 481 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 510 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 482 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 511 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| 483 | if !templ_7745c5c3_IsBuffer { | 512 | if !templ_7745c5c3_IsBuffer { | ||
| @@ -489,7 +518,7 @@ func Refs(l Layout, p RefsPage) templ.Component { | |||||
| 489 | }() | 518 | }() | ||
| 490 | } | 519 | } | ||
| 491 | ctx = templ.InitializeContext(ctx) | 520 | ctx = templ.InitializeContext(ctx) | ||
| 492 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<div class=\"filter\"><label for=\"ref-filter\" class=\"sr\">filter</label> <input id=\"ref-filter\" type=\"search\" data-filter=\"#ref-rows > tr\" placeholder=\"Filter branches and tags…\" autocomplete=\"off\" hx-on:input=\"ermite.filter(this)\"></div><table class=\"list refs\" aria-label=\"Branches and tags\"><thead><tr><th class=\"cur\"></th><th class=\"c-kind\">kind</th><th class=\"c-name\">name</th><th class=\"c-sha\">commit</th><th class=\"c-sub\">subject</th><th class=\"c-when\">date</th></tr></thead>") | 521 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "<div class=\"filter\"><label for=\"ref-filter\" class=\"sr\">filter</label> <input id=\"ref-filter\" type=\"search\" data-filter=\"#ref-rows > tr\" placeholder=\"Filter branches and tags…\" autocomplete=\"off\" hx-on:input=\"ermite.filter(this)\"></div><table class=\"list refs\" aria-label=\"Branches and tags\"><thead><tr><th class=\"cur\"></th><th class=\"c-kind\">kind</th><th class=\"c-name\">name</th><th class=\"c-sha\">commit</th><th class=\"c-sub\">subject</th><th class=\"c-when\">date</th></tr></thead>") |
| 493 | if templ_7745c5c3_Err != nil { | 522 | if templ_7745c5c3_Err != nil { | ||
| 494 | return templ_7745c5c3_Err | 523 | return templ_7745c5c3_Err | ||
| 495 | } | 524 | } | ||
| @@ -497,32 +526,32 @@ func Refs(l Layout, p RefsPage) templ.Component { | |||||
| 497 | if templ_7745c5c3_Err != nil { | 526 | if templ_7745c5c3_Err != nil { | ||
| 498 | return templ_7745c5c3_Err | 527 | return templ_7745c5c3_Err | ||
| 499 | } | 528 | } | ||
| 500 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</table>") | 529 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</table>") |
| 501 | if templ_7745c5c3_Err != nil { | 530 | if templ_7745c5c3_Err != nil { | ||
| 502 | return templ_7745c5c3_Err | 531 | return templ_7745c5c3_Err | ||
| 503 | } | 532 | } | ||
| 504 | if p.Note != "" { | 533 | if p.Note != "" { | ||
| 505 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<p class=\"note\">") | 534 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "<p class=\"note\">") |
| 506 | if templ_7745c5c3_Err != nil { | 535 | if templ_7745c5c3_Err != nil { | ||
| 507 | return templ_7745c5c3_Err | 536 | return templ_7745c5c3_Err | ||
| 508 | } | 537 | } | ||
| 509 | - | var templ_7745c5c3_Var24 string | 538 | + | var templ_7745c5c3_Var25 string |
| 510 | - | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) | 539 | + | templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) |
| 511 | if templ_7745c5c3_Err != nil { | 540 | if templ_7745c5c3_Err != nil { | ||
| 512 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 113, Col: 27} | 541 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 122, Col: 27} |
| 513 | } | 542 | } | ||
| 514 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | 543 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25)) |
| 515 | if templ_7745c5c3_Err != nil { | 544 | if templ_7745c5c3_Err != nil { | ||
| 516 | return templ_7745c5c3_Err | 545 | return templ_7745c5c3_Err | ||
| 517 | } | 546 | } | ||
| 518 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "</p>") | 547 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "</p>") |
| 519 | if templ_7745c5c3_Err != nil { | 548 | if templ_7745c5c3_Err != nil { | ||
| 520 | return templ_7745c5c3_Err | 549 | return templ_7745c5c3_Err | ||
| 521 | } | 550 | } | ||
| 522 | } | 551 | } | ||
| 523 | return nil | 552 | return nil | ||
| 524 | }) | 553 | }) | ||
| 525 | - | templ_7745c5c3_Err = Shell(l, refsRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var23), templ_7745c5c3_Buffer) | 554 | + | templ_7745c5c3_Err = Shell(l, refsRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var24), templ_7745c5c3_Buffer) |
| 526 | if templ_7745c5c3_Err != nil { | 555 | if templ_7745c5c3_Err != nil { | ||
| 527 | return templ_7745c5c3_Err | 556 | return templ_7745c5c3_Err | ||
| 528 | } | 557 | } | ||
| @@ -546,112 +575,112 @@ func refRow(kind string, r RefRow) templ.Component { | |||||
| 546 | }() | 575 | }() | ||
| 547 | } | 576 | } | ||
| 548 | ctx = templ.InitializeContext(ctx) | 577 | ctx = templ.InitializeContext(ctx) | ||
| 549 | - | templ_7745c5c3_Var25 := templ.GetChildren(ctx) | 578 | + | templ_7745c5c3_Var26 := templ.GetChildren(ctx) |
| 550 | - | if templ_7745c5c3_Var25 == nil { | 579 | + | if templ_7745c5c3_Var26 == nil { |
| 551 | - | templ_7745c5c3_Var25 = templ.NopComponent | 580 | + | templ_7745c5c3_Var26 = templ.NopComponent |
| 552 | } | 581 | } | ||
| 553 | ctx = templ.ClearChildren(ctx) | 582 | ctx = templ.ClearChildren(ctx) | ||
| 554 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<tr") | 583 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<tr") |
| 555 | if templ_7745c5c3_Err != nil { | 584 | if templ_7745c5c3_Err != nil { | ||
| 556 | return templ_7745c5c3_Err | 585 | return templ_7745c5c3_Err | ||
| 557 | } | 586 | } | ||
| 558 | if r.Cursor { | 587 | if r.Cursor { | ||
| 559 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, " data-cursor") | 588 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, " data-cursor") |
| 560 | if templ_7745c5c3_Err != nil { | 589 | if templ_7745c5c3_Err != nil { | ||
| 561 | return templ_7745c5c3_Err | 590 | return templ_7745c5c3_Err | ||
| 562 | } | 591 | } | ||
| 563 | } | 592 | } | ||
| 564 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-kind mute\">") | 593 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-kind mute\">") |
| 565 | if templ_7745c5c3_Err != nil { | 594 | if templ_7745c5c3_Err != nil { | ||
| 566 | return templ_7745c5c3_Err | 595 | return templ_7745c5c3_Err | ||
| 567 | } | 596 | } | ||
| 568 | - | var templ_7745c5c3_Var26 string | 597 | + | var templ_7745c5c3_Var27 string |
| 569 | - | templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs(kind) | 598 | + | templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(kind) |
| 570 | if templ_7745c5c3_Err != nil { | 599 | if templ_7745c5c3_Err != nil { | ||
| 571 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 121, Col: 32} | 600 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 130, Col: 32} |
| 572 | } | 601 | } | ||
| 573 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26)) | 602 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27)) |
| 574 | if templ_7745c5c3_Err != nil { | 603 | if templ_7745c5c3_Err != nil { | ||
| 575 | return templ_7745c5c3_Err | 604 | return templ_7745c5c3_Err | ||
| 576 | } | 605 | } | ||
| 577 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</td><td class=\"c-name\"><a href=\"") | 606 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</td><td class=\"c-name\"><a href=\"") |
| 578 | if templ_7745c5c3_Err != nil { | 607 | if templ_7745c5c3_Err != nil { | ||
| 579 | return templ_7745c5c3_Err | 608 | return templ_7745c5c3_Err | ||
| 580 | } | 609 | } | ||
| 581 | - | var templ_7745c5c3_Var27 templ.SafeURL | 610 | + | var templ_7745c5c3_Var28 templ.SafeURL |
| 582 | - | templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href)) | 611 | + | templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Href)) |
| 583 | if templ_7745c5c3_Err != nil { | 612 | if templ_7745c5c3_Err != nil { | ||
| 584 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 123, Col: 34} | 613 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 132, Col: 34} |
| 585 | } | 614 | } | ||
| 586 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27)) | 615 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28)) |
| 587 | if templ_7745c5c3_Err != nil { | 616 | if templ_7745c5c3_Err != nil { | ||
| 588 | return templ_7745c5c3_Err | 617 | return templ_7745c5c3_Err | ||
| 589 | } | 618 | } | ||
| 590 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "\">") | 619 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "\">") |
| 591 | if templ_7745c5c3_Err != nil { | 620 | if templ_7745c5c3_Err != nil { | ||
| 592 | return templ_7745c5c3_Err | 621 | return templ_7745c5c3_Err | ||
| 593 | } | 622 | } | ||
| 594 | - | var templ_7745c5c3_Var28 string | 623 | + | var templ_7745c5c3_Var29 string |
| 595 | - | templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) | 624 | + | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) |
| 596 | if templ_7745c5c3_Err != nil { | 625 | if templ_7745c5c3_Err != nil { | ||
| 597 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 123, Col: 45} | 626 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 132, Col: 45} |
| 598 | } | 627 | } | ||
| 599 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28)) | 628 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) |
| 600 | if templ_7745c5c3_Err != nil { | 629 | if templ_7745c5c3_Err != nil { | ||
| 601 | return templ_7745c5c3_Err | 630 | return templ_7745c5c3_Err | ||
| 602 | } | 631 | } | ||
| 603 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</a> ") | 632 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</a> ") |
| 604 | if templ_7745c5c3_Err != nil { | 633 | if templ_7745c5c3_Err != nil { | ||
| 605 | return templ_7745c5c3_Err | 634 | return templ_7745c5c3_Err | ||
| 606 | } | 635 | } | ||
| 607 | if r.Default { | 636 | if r.Default { | ||
| 608 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "<span class=\"pill\">default</span>") | 637 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<span class=\"pill\">default</span>") |
| 609 | if templ_7745c5c3_Err != nil { | 638 | if templ_7745c5c3_Err != nil { | ||
| 610 | return templ_7745c5c3_Err | 639 | return templ_7745c5c3_Err | ||
| 611 | } | 640 | } | ||
| 612 | } | 641 | } | ||
| 613 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "</td><td class=\"c-sha\">") | 642 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</td><td class=\"c-sha\">") |
| 614 | if templ_7745c5c3_Err != nil { | 643 | if templ_7745c5c3_Err != nil { | ||
| 615 | return templ_7745c5c3_Err | 644 | return templ_7745c5c3_Err | ||
| 616 | } | 645 | } | ||
| 617 | if r.CHref != "" { | 646 | if r.CHref != "" { | ||
| 618 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "<a href=\"") | 647 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<a href=\"") |
| 619 | if templ_7745c5c3_Err != nil { | 648 | if templ_7745c5c3_Err != nil { | ||
| 620 | return templ_7745c5c3_Err | 649 | return templ_7745c5c3_Err | ||
| 621 | } | 650 | } | ||
| 622 | - | var templ_7745c5c3_Var29 templ.SafeURL | 651 | + | var templ_7745c5c3_Var30 templ.SafeURL |
| 623 | - | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.CHref)) | 652 | + | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.CHref)) |
| 624 | if templ_7745c5c3_Err != nil { | 653 | if templ_7745c5c3_Err != nil { | ||
| 625 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 130, Col: 36} | 654 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 36} |
| 626 | } | 655 | } | ||
| 627 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | 656 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) |
| 628 | if templ_7745c5c3_Err != nil { | 657 | if templ_7745c5c3_Err != nil { | ||
| 629 | return templ_7745c5c3_Err | 658 | return templ_7745c5c3_Err | ||
| 630 | } | 659 | } | ||
| 631 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "\">") | 660 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "\">") |
| 632 | if templ_7745c5c3_Err != nil { | 661 | if templ_7745c5c3_Err != nil { | ||
| 633 | return templ_7745c5c3_Err | 662 | return templ_7745c5c3_Err | ||
| 634 | } | 663 | } | ||
| 635 | - | var templ_7745c5c3_Var30 string | 664 | + | var templ_7745c5c3_Var31 string |
| 636 | - | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) | 665 | + | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) |
| 637 | if templ_7745c5c3_Err != nil { | 666 | if templ_7745c5c3_Err != nil { | ||
| 638 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 130, Col: 48} | 667 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 48} |
| 639 | } | 668 | } | ||
| 640 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) | 669 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) |
| 641 | if templ_7745c5c3_Err != nil { | 670 | if templ_7745c5c3_Err != nil { | ||
| 642 | return templ_7745c5c3_Err | 671 | return templ_7745c5c3_Err | ||
| 643 | } | 672 | } | ||
| 644 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</a>") | 673 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</a>") |
| 645 | if templ_7745c5c3_Err != nil { | 674 | if templ_7745c5c3_Err != nil { | ||
| 646 | return templ_7745c5c3_Err | 675 | return templ_7745c5c3_Err | ||
| 647 | } | 676 | } | ||
| 648 | } else { | 677 | } else { | ||
| 649 | - | var templ_7745c5c3_Var31 string | 678 | + | var templ_7745c5c3_Var32 string |
| 650 | - | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) | 679 | + | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(r.Short) |
| 651 | if templ_7745c5c3_Err != nil { | 680 | if templ_7745c5c3_Err != nil { | ||
| 652 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 132, Col: 13} | 681 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 141, Col: 13} |
| 653 | } | 682 | } | ||
| 654 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | 683 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) |
| 655 | if templ_7745c5c3_Err != nil { | 684 | if templ_7745c5c3_Err != nil { | ||
| 656 | return templ_7745c5c3_Err | 685 | return templ_7745c5c3_Err | ||
| 657 | } | 686 | } | ||
| @@ -660,69 +689,69 @@ func refRow(kind string, r RefRow) templ.Component { | |||||
| 660 | if templ_7745c5c3_Err != nil { | 689 | if templ_7745c5c3_Err != nil { | ||
| 661 | return templ_7745c5c3_Err | 690 | return templ_7745c5c3_Err | ||
| 662 | } | 691 | } | ||
| 663 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</td><td class=\"c-sub\">") | 692 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</td><td class=\"c-sub\">") |
| 664 | if templ_7745c5c3_Err != nil { | 693 | if templ_7745c5c3_Err != nil { | ||
| 665 | return templ_7745c5c3_Err | 694 | return templ_7745c5c3_Err | ||
| 666 | } | 695 | } | ||
| 667 | - | var templ_7745c5c3_Var32 string | 696 | + | var templ_7745c5c3_Var33 string |
| 668 | - | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(r.Subject) | 697 | + | templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(r.Subject) |
| 669 | if templ_7745c5c3_Err != nil { | 698 | if templ_7745c5c3_Err != nil { | ||
| 670 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 136, Col: 31} | 699 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 145, Col: 31} |
| 671 | } | 700 | } | ||
| 672 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) | 701 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33)) |
| 673 | if templ_7745c5c3_Err != nil { | 702 | if templ_7745c5c3_Err != nil { | ||
| 674 | return templ_7745c5c3_Err | 703 | return templ_7745c5c3_Err | ||
| 675 | } | 704 | } | ||
| 676 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "</td><td class=\"c-when dim\">") | 705 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</td><td class=\"c-when dim\">") |
| 677 | if templ_7745c5c3_Err != nil { | 706 | if templ_7745c5c3_Err != nil { | ||
| 678 | return templ_7745c5c3_Err | 707 | return templ_7745c5c3_Err | ||
| 679 | } | 708 | } | ||
| 680 | if r.WhenAt != "" { | 709 | if r.WhenAt != "" { | ||
| 681 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "<time datetime=\"") | 710 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<time datetime=\"") |
| 682 | if templ_7745c5c3_Err != nil { | 711 | if templ_7745c5c3_Err != nil { | ||
| 683 | return templ_7745c5c3_Err | 712 | return templ_7745c5c3_Err | ||
| 684 | } | 713 | } | ||
| 685 | - | var templ_7745c5c3_Var33 string | 714 | + | var templ_7745c5c3_Var34 string |
| 686 | - | templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) | 715 | + | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) |
| 687 | if templ_7745c5c3_Err != nil { | 716 | if templ_7745c5c3_Err != nil { | ||
| 688 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 29} | 717 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 148, Col: 29} |
| 689 | } | 718 | } | ||
| 690 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var33) | 719 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34) |
| 691 | if templ_7745c5c3_Err != nil { | 720 | if templ_7745c5c3_Err != nil { | ||
| 692 | return templ_7745c5c3_Err | 721 | return templ_7745c5c3_Err | ||
| 693 | } | 722 | } | ||
| 694 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "\" title=\"") | 723 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\" title=\"") |
| 695 | if templ_7745c5c3_Err != nil { | 724 | if templ_7745c5c3_Err != nil { | ||
| 696 | return templ_7745c5c3_Err | 725 | return templ_7745c5c3_Err | ||
| 697 | } | 726 | } | ||
| 698 | - | var templ_7745c5c3_Var34 string | 727 | + | var templ_7745c5c3_Var35 string |
| 699 | - | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) | 728 | + | templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.WhenAt) |
| 700 | if templ_7745c5c3_Err != nil { | 729 | if templ_7745c5c3_Err != nil { | ||
| 701 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 48} | 730 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 148, Col: 48} |
| 702 | } | 731 | } | ||
| 703 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34) | 732 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var35) |
| 704 | if templ_7745c5c3_Err != nil { | 733 | if templ_7745c5c3_Err != nil { | ||
| 705 | return templ_7745c5c3_Err | 734 | return templ_7745c5c3_Err | ||
| 706 | } | 735 | } | ||
| 707 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\">") | 736 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "\">") |
| 708 | if templ_7745c5c3_Err != nil { | 737 | if templ_7745c5c3_Err != nil { | ||
| 709 | return templ_7745c5c3_Err | 738 | return templ_7745c5c3_Err | ||
| 710 | } | 739 | } | ||
| 711 | - | var templ_7745c5c3_Var35 string | 740 | + | var templ_7745c5c3_Var36 string |
| 712 | - | templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(r.When) | 741 | + | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(r.When) |
| 713 | if templ_7745c5c3_Err != nil { | 742 | if templ_7745c5c3_Err != nil { | ||
| 714 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 139, Col: 59} | 743 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 148, Col: 59} |
| 715 | } | 744 | } | ||
| 716 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35)) | 745 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) |
| 717 | if templ_7745c5c3_Err != nil { | 746 | if templ_7745c5c3_Err != nil { | ||
| 718 | return templ_7745c5c3_Err | 747 | return templ_7745c5c3_Err | ||
| 719 | } | 748 | } | ||
| 720 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</time>") | 749 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "</time>") |
| 721 | if templ_7745c5c3_Err != nil { | 750 | if templ_7745c5c3_Err != nil { | ||
| 722 | return templ_7745c5c3_Err | 751 | return templ_7745c5c3_Err | ||
| 723 | } | 752 | } | ||
| 724 | } | 753 | } | ||
| 725 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "</td></tr>") | 754 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</td></tr>") |
| 726 | if templ_7745c5c3_Err != nil { | 755 | if templ_7745c5c3_Err != nil { | ||
| 727 | return templ_7745c5c3_Err | 756 | return templ_7745c5c3_Err | ||
| 728 | } | 757 | } | ||
| @@ -746,12 +775,12 @@ func refsRail(p RefsPage) templ.Component { | |||||
| 746 | }() | 775 | }() | ||
| 747 | } | 776 | } | ||
| 748 | ctx = templ.InitializeContext(ctx) | 777 | ctx = templ.InitializeContext(ctx) | ||
| 749 | - | templ_7745c5c3_Var36 := templ.GetChildren(ctx) | 778 | + | templ_7745c5c3_Var37 := templ.GetChildren(ctx) |
| 750 | - | if templ_7745c5c3_Var36 == nil { | 779 | + | if templ_7745c5c3_Var37 == nil { |
| 751 | - | templ_7745c5c3_Var36 = templ.NopComponent | 780 | + | templ_7745c5c3_Var37 = templ.NopComponent |
| 752 | } | 781 | } | ||
| 753 | ctx = templ.ClearChildren(ctx) | 782 | ctx = templ.ClearChildren(ctx) | ||
| 754 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "<section aria-labelledby=\"r-refs\"><h2 id=\"r-refs\">Overview</h2>") | 783 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<section aria-labelledby=\"r-refs\"><h2 id=\"r-refs\">Overview</h2>") |
| 755 | if templ_7745c5c3_Err != nil { | 784 | if templ_7745c5c3_Err != nil { | ||
| 756 | return templ_7745c5c3_Err | 785 | return templ_7745c5c3_Err | ||
| 757 | } | 786 | } | ||
| @@ -759,7 +788,7 @@ func refsRail(p RefsPage) templ.Component { | |||||
| 759 | if templ_7745c5c3_Err != nil { | 788 | if templ_7745c5c3_Err != nil { | ||
| 760 | return templ_7745c5c3_Err | 789 | return templ_7745c5c3_Err | ||
| 761 | } | 790 | } | ||
| 762 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</section>") | 791 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</section>") |
| 763 | if templ_7745c5c3_Err != nil { | 792 | if templ_7745c5c3_Err != nil { | ||
| 764 | return templ_7745c5c3_Err | 793 | return templ_7745c5c3_Err | ||
| 765 | } | 794 | } | ||
| @@ -784,12 +813,12 @@ func State(l Layout, p StatePage) templ.Component { | |||||
| 784 | }() | 813 | }() | ||
| 785 | } | 814 | } | ||
| 786 | ctx = templ.InitializeContext(ctx) | 815 | ctx = templ.InitializeContext(ctx) | ||
| 787 | - | templ_7745c5c3_Var37 := templ.GetChildren(ctx) | 816 | + | templ_7745c5c3_Var38 := templ.GetChildren(ctx) |
| 788 | - | if templ_7745c5c3_Var37 == nil { | 817 | + | if templ_7745c5c3_Var38 == nil { |
| 789 | - | templ_7745c5c3_Var37 = templ.NopComponent | 818 | + | templ_7745c5c3_Var38 = templ.NopComponent |
| 790 | } | 819 | } | ||
| 791 | ctx = templ.ClearChildren(ctx) | 820 | ctx = templ.ClearChildren(ctx) | ||
| 792 | - | templ_7745c5c3_Var38 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 821 | + | templ_7745c5c3_Var39 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { |
| 793 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 822 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 794 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 823 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| 795 | if !templ_7745c5c3_IsBuffer { | 824 | if !templ_7745c5c3_IsBuffer { | ||
| @@ -801,51 +830,51 @@ func State(l Layout, p StatePage) templ.Component { | |||||
| 801 | }() | 830 | }() | ||
| 802 | } | 831 | } | ||
| 803 | ctx = templ.InitializeContext(ctx) | 832 | ctx = templ.InitializeContext(ctx) | ||
| 804 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "<section class=\"state\" aria-labelledby=\"state-title\"><p class=\"eyebrow\">") | 833 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "<section class=\"state\" aria-labelledby=\"state-title\"><p class=\"eyebrow\">") |
| 805 | if templ_7745c5c3_Err != nil { | 834 | if templ_7745c5c3_Err != nil { | ||
| 806 | return templ_7745c5c3_Err | 835 | return templ_7745c5c3_Err | ||
| 807 | } | 836 | } | ||
| 808 | - | var templ_7745c5c3_Var39 string | 837 | + | var templ_7745c5c3_Var40 string |
| 809 | - | templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(p.Code) | 838 | + | templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(p.Code) |
| 810 | if templ_7745c5c3_Err != nil { | 839 | if templ_7745c5c3_Err != nil { | ||
| 811 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 156, Col: 30} | 840 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 165, Col: 30} |
| 812 | } | 841 | } | ||
| 813 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) | 842 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) |
| 814 | if templ_7745c5c3_Err != nil { | 843 | if templ_7745c5c3_Err != nil { | ||
| 815 | return templ_7745c5c3_Err | 844 | return templ_7745c5c3_Err | ||
| 816 | } | 845 | } | ||
| 817 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</p><h1 id=\"state-title\">") | 846 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</p><h1 id=\"state-title\">") |
| 818 | if templ_7745c5c3_Err != nil { | 847 | if templ_7745c5c3_Err != nil { | ||
| 819 | return templ_7745c5c3_Err | 848 | return templ_7745c5c3_Err | ||
| 820 | } | 849 | } | ||
| 821 | - | var templ_7745c5c3_Var40 string | 850 | + | var templ_7745c5c3_Var41 string |
| 822 | - | templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | 851 | + | templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) |
| 823 | if templ_7745c5c3_Err != nil { | 852 | if templ_7745c5c3_Err != nil { | ||
| 824 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 157, Col: 33} | 853 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 166, Col: 33} |
| 825 | } | 854 | } | ||
| 826 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) | 855 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) |
| 827 | if templ_7745c5c3_Err != nil { | 856 | if templ_7745c5c3_Err != nil { | ||
| 828 | return templ_7745c5c3_Err | 857 | return templ_7745c5c3_Err | ||
| 829 | } | 858 | } | ||
| 830 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "</h1>") | 859 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</h1>") |
| 831 | if templ_7745c5c3_Err != nil { | 860 | if templ_7745c5c3_Err != nil { | ||
| 832 | return templ_7745c5c3_Err | 861 | return templ_7745c5c3_Err | ||
| 833 | } | 862 | } | ||
| 834 | for _, line := range p.Lines { | 863 | for _, line := range p.Lines { | ||
| 835 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "<p class=\"dim\">") | 864 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "<p class=\"dim\">") |
| 836 | if templ_7745c5c3_Err != nil { | 865 | if templ_7745c5c3_Err != nil { | ||
| 837 | return templ_7745c5c3_Err | 866 | return templ_7745c5c3_Err | ||
| 838 | } | 867 | } | ||
| 839 | - | var templ_7745c5c3_Var41 string | 868 | + | var templ_7745c5c3_Var42 string |
| 840 | - | templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(line) | 869 | + | templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(line) |
| 841 | if templ_7745c5c3_Err != nil { | 870 | if templ_7745c5c3_Err != nil { | ||
| 842 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 159, Col: 25} | 871 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 168, Col: 25} |
| 843 | } | 872 | } | ||
| 844 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) | 873 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) |
| 845 | if templ_7745c5c3_Err != nil { | 874 | if templ_7745c5c3_Err != nil { | ||
| 846 | return templ_7745c5c3_Err | 875 | return templ_7745c5c3_Err | ||
| 847 | } | 876 | } | ||
| 848 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "</p>") | 877 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "</p>") |
| 849 | if templ_7745c5c3_Err != nil { | 878 | if templ_7745c5c3_Err != nil { | ||
| 850 | return templ_7745c5c3_Err | 879 | return templ_7745c5c3_Err | ||
| 851 | } | 880 | } | ||
| @@ -856,49 +885,49 @@ func State(l Layout, p StatePage) templ.Component { | |||||
| 856 | return templ_7745c5c3_Err | 885 | return templ_7745c5c3_Err | ||
| 857 | } | 886 | } | ||
| 858 | } | 887 | } | ||
| 859 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "<p class=\"state-back\">") | 888 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "<p class=\"state-back\">") |
| 860 | if templ_7745c5c3_Err != nil { | 889 | if templ_7745c5c3_Err != nil { | ||
| 861 | return templ_7745c5c3_Err | 890 | return templ_7745c5c3_Err | ||
| 862 | } | 891 | } | ||
| 863 | for _, b := range p.Back { | 892 | for _, b := range p.Back { | ||
| 864 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "<a href=\"") | 893 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "<a href=\"") |
| 865 | if templ_7745c5c3_Err != nil { | 894 | if templ_7745c5c3_Err != nil { | ||
| 866 | return templ_7745c5c3_Err | 895 | return templ_7745c5c3_Err | ||
| 867 | } | 896 | } | ||
| 868 | - | var templ_7745c5c3_Var42 templ.SafeURL | 897 | + | var templ_7745c5c3_Var43 templ.SafeURL |
| 869 | - | templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(b.Href)) | 898 | + | templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(b.Href)) |
| 870 | if templ_7745c5c3_Err != nil { | 899 | if templ_7745c5c3_Err != nil { | ||
| 871 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 166, Col: 36} | 900 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 175, Col: 36} |
| 872 | } | 901 | } | ||
| 873 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) | 902 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) |
| 874 | if templ_7745c5c3_Err != nil { | 903 | if templ_7745c5c3_Err != nil { | ||
| 875 | return templ_7745c5c3_Err | 904 | return templ_7745c5c3_Err | ||
| 876 | } | 905 | } | ||
| 877 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\">") | 906 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "\">") |
| 878 | if templ_7745c5c3_Err != nil { | 907 | if templ_7745c5c3_Err != nil { | ||
| 879 | return templ_7745c5c3_Err | 908 | return templ_7745c5c3_Err | ||
| 880 | } | 909 | } | ||
| 881 | - | var templ_7745c5c3_Var43 string | 910 | + | var templ_7745c5c3_Var44 string |
| 882 | - | templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(b.Label) | 911 | + | templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(b.Label) |
| 883 | if templ_7745c5c3_Err != nil { | 912 | if templ_7745c5c3_Err != nil { | ||
| 884 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 166, Col: 48} | 913 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 175, Col: 48} |
| 885 | } | 914 | } | ||
| 886 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) | 915 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44)) |
| 887 | if templ_7745c5c3_Err != nil { | 916 | if templ_7745c5c3_Err != nil { | ||
| 888 | return templ_7745c5c3_Err | 917 | return templ_7745c5c3_Err | ||
| 889 | } | 918 | } | ||
| 890 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "</a>") | 919 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "</a>") |
| 891 | if templ_7745c5c3_Err != nil { | 920 | if templ_7745c5c3_Err != nil { | ||
| 892 | return templ_7745c5c3_Err | 921 | return templ_7745c5c3_Err | ||
| 893 | } | 922 | } | ||
| 894 | } | 923 | } | ||
| 895 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "</p></section>") | 924 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "</p></section>") |
| 896 | if templ_7745c5c3_Err != nil { | 925 | if templ_7745c5c3_Err != nil { | ||
| 897 | return templ_7745c5c3_Err | 926 | return templ_7745c5c3_Err | ||
| 898 | } | 927 | } | ||
| 899 | return nil | 928 | return nil | ||
| 900 | }) | 929 | }) | ||
| 901 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var38), templ_7745c5c3_Buffer) | 930 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var39), templ_7745c5c3_Buffer) |
| 902 | if templ_7745c5c3_Err != nil { | 931 | if templ_7745c5c3_Err != nil { | ||
| 903 | return templ_7745c5c3_Err | 932 | return templ_7745c5c3_Err | ||
| 904 | } | 933 | } | ||
| @@ -927,12 +956,12 @@ func Login(l Layout, p LoginPage) templ.Component { | |||||
| 927 | }() | 956 | }() | ||
| 928 | } | 957 | } | ||
| 929 | ctx = templ.InitializeContext(ctx) | 958 | ctx = templ.InitializeContext(ctx) | ||
| 930 | - | templ_7745c5c3_Var44 := templ.GetChildren(ctx) | 959 | + | templ_7745c5c3_Var45 := templ.GetChildren(ctx) |
| 931 | - | if templ_7745c5c3_Var44 == nil { | 960 | + | if templ_7745c5c3_Var45 == nil { |
| 932 | - | templ_7745c5c3_Var44 = templ.NopComponent | 961 | + | templ_7745c5c3_Var45 = templ.NopComponent |
| 933 | } | 962 | } | ||
| 934 | ctx = templ.ClearChildren(ctx) | 963 | ctx = templ.ClearChildren(ctx) | ||
| 935 | - | templ_7745c5c3_Var45 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 964 | + | templ_7745c5c3_Var46 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { |
| 936 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 965 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 937 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 966 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| 938 | if !templ_7745c5c3_IsBuffer { | 967 | if !templ_7745c5c3_IsBuffer { | ||
| @@ -944,75 +973,75 @@ func Login(l Layout, p LoginPage) templ.Component { | |||||
| 944 | }() | 973 | }() | ||
| 945 | } | 974 | } | ||
| 946 | ctx = templ.InitializeContext(ctx) | 975 | ctx = templ.InitializeContext(ctx) | ||
| 947 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") | 976 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") |
| 948 | if templ_7745c5c3_Err != nil { | 977 | if templ_7745c5c3_Err != nil { | ||
| 949 | return templ_7745c5c3_Err | 978 | return templ_7745c5c3_Err | ||
| 950 | } | 979 | } | ||
| 951 | - | var templ_7745c5c3_Var46 string | 980 | + | var templ_7745c5c3_Var47 string |
| 952 | - | templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | 981 | + | templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) |
| 953 | if templ_7745c5c3_Err != nil { | 982 | if templ_7745c5c3_Err != nil { | ||
| 954 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 181, Col: 33} | 983 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 190, Col: 33} |
| 955 | } | 984 | } | ||
| 956 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46)) | 985 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) |
| 957 | if templ_7745c5c3_Err != nil { | 986 | if templ_7745c5c3_Err != nil { | ||
| 958 | return templ_7745c5c3_Err | 987 | return templ_7745c5c3_Err | ||
| 959 | } | 988 | } | ||
| 960 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "</h1>") | 989 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "</h1>") |
| 961 | if templ_7745c5c3_Err != nil { | 990 | if templ_7745c5c3_Err != nil { | ||
| 962 | return templ_7745c5c3_Err | 991 | return templ_7745c5c3_Err | ||
| 963 | } | 992 | } | ||
| 964 | for _, line := range p.Lines { | 993 | for _, line := range p.Lines { | ||
| 965 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "<p class=\"dim\">") | 994 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "<p class=\"dim\">") |
| 966 | if templ_7745c5c3_Err != nil { | 995 | if templ_7745c5c3_Err != nil { | ||
| 967 | return templ_7745c5c3_Err | 996 | return templ_7745c5c3_Err | ||
| 968 | } | 997 | } | ||
| 969 | - | var templ_7745c5c3_Var47 string | 998 | + | var templ_7745c5c3_Var48 string |
| 970 | - | templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(line) | 999 | + | templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(line) |
| 971 | if templ_7745c5c3_Err != nil { | 1000 | if templ_7745c5c3_Err != nil { | ||
| 972 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 183, Col: 25} | 1001 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 192, Col: 25} |
| 973 | } | 1002 | } | ||
| 974 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) | 1003 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48)) |
| 975 | if templ_7745c5c3_Err != nil { | 1004 | if templ_7745c5c3_Err != nil { | ||
| 976 | return templ_7745c5c3_Err | 1005 | return templ_7745c5c3_Err | ||
| 977 | } | 1006 | } | ||
| 978 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "</p>") | 1007 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "</p>") |
| 979 | if templ_7745c5c3_Err != nil { | 1008 | if templ_7745c5c3_Err != nil { | ||
| 980 | return templ_7745c5c3_Err | 1009 | return templ_7745c5c3_Err | ||
| 981 | } | 1010 | } | ||
| 982 | } | 1011 | } | ||
| 983 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "<form class=\"state-act\" method=\"post\" action=\"") | 1012 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "<form class=\"state-act\" method=\"post\" action=\"") |
| 984 | if templ_7745c5c3_Err != nil { | 1013 | if templ_7745c5c3_Err != nil { | ||
| 985 | return templ_7745c5c3_Err | 1014 | return templ_7745c5c3_Err | ||
| 986 | } | 1015 | } | ||
| 987 | - | var templ_7745c5c3_Var48 templ.SafeURL | 1016 | + | var templ_7745c5c3_Var49 templ.SafeURL |
| 988 | - | templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Action)) | 1017 | + | templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Action)) |
| 989 | if templ_7745c5c3_Err != nil { | 1018 | if templ_7745c5c3_Err != nil { | ||
| 990 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 185, Col: 73} | 1019 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 194, Col: 73} |
| 991 | } | 1020 | } | ||
| 992 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48)) | 1021 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49)) |
| 993 | if templ_7745c5c3_Err != nil { | 1022 | if templ_7745c5c3_Err != nil { | ||
| 994 | return templ_7745c5c3_Err | 1023 | return templ_7745c5c3_Err | ||
| 995 | } | 1024 | } | ||
| 996 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "\" data-autosubmit><button type=\"submit\" class=\"btn primary\">") | 1025 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "\" data-autosubmit><button type=\"submit\" class=\"btn primary\">") |
| 997 | if templ_7745c5c3_Err != nil { | 1026 | if templ_7745c5c3_Err != nil { | ||
| 998 | return templ_7745c5c3_Err | 1027 | return templ_7745c5c3_Err | ||
| 999 | } | 1028 | } | ||
| 1000 | - | var templ_7745c5c3_Var49 string | 1029 | + | var templ_7745c5c3_Var50 string |
| 1001 | - | templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) | 1030 | + | templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) |
| 1002 | if templ_7745c5c3_Err != nil { | 1031 | if templ_7745c5c3_Err != nil { | ||
| 1003 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 186, Col: 56} | 1032 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 195, Col: 56} |
| 1004 | } | 1033 | } | ||
| 1005 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49)) | 1034 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var50)) |
| 1006 | if templ_7745c5c3_Err != nil { | 1035 | if templ_7745c5c3_Err != nil { | ||
| 1007 | return templ_7745c5c3_Err | 1036 | return templ_7745c5c3_Err | ||
| 1008 | } | 1037 | } | ||
| 1009 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "</button></form><p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") | 1038 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "</button></form><p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") |
| 1010 | if templ_7745c5c3_Err != nil { | 1039 | if templ_7745c5c3_Err != nil { | ||
| 1011 | return templ_7745c5c3_Err | 1040 | return templ_7745c5c3_Err | ||
| 1012 | } | 1041 | } | ||
| 1013 | return nil | 1042 | return nil | ||
| 1014 | }) | 1043 | }) | ||
| 1015 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var45), templ_7745c5c3_Buffer) | 1044 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var46), templ_7745c5c3_Buffer) |
| 1016 | if templ_7745c5c3_Err != nil { | 1045 | if templ_7745c5c3_Err != nil { | ||
| 1017 | return templ_7745c5c3_Err | 1046 | return templ_7745c5c3_Err | ||
| 1018 | } | 1047 | } | ||
| @@ -1038,12 +1067,12 @@ func PasskeyLogin(l Layout, p PasskeyLoginPage) templ.Component { | |||||
| 1038 | }() | 1067 | }() | ||
| 1039 | } | 1068 | } | ||
| 1040 | ctx = templ.InitializeContext(ctx) | 1069 | ctx = templ.InitializeContext(ctx) | ||
| 1041 | - | templ_7745c5c3_Var50 := templ.GetChildren(ctx) | 1070 | + | templ_7745c5c3_Var51 := templ.GetChildren(ctx) |
| 1042 | - | if templ_7745c5c3_Var50 == nil { | 1071 | + | if templ_7745c5c3_Var51 == nil { |
| 1043 | - | templ_7745c5c3_Var50 = templ.NopComponent | 1072 | + | templ_7745c5c3_Var51 = templ.NopComponent |
| 1044 | } | 1073 | } | ||
| 1045 | ctx = templ.ClearChildren(ctx) | 1074 | ctx = templ.ClearChildren(ctx) | ||
| 1046 | - | templ_7745c5c3_Var51 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 1075 | + | templ_7745c5c3_Var52 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { |
| 1047 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 1076 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 1048 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 1077 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| 1049 | if !templ_7745c5c3_IsBuffer { | 1078 | if !templ_7745c5c3_IsBuffer { | ||
| @@ -1055,88 +1084,88 @@ func PasskeyLogin(l Layout, p PasskeyLoginPage) templ.Component { | |||||
| 1055 | }() | 1084 | }() | ||
| 1056 | } | 1085 | } | ||
| 1057 | ctx = templ.InitializeContext(ctx) | 1086 | ctx = templ.InitializeContext(ctx) | ||
| 1058 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") | 1087 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "<section class=\"state\" aria-labelledby=\"state-title\"><h1 id=\"state-title\">") |
| 1059 | if templ_7745c5c3_Err != nil { | 1088 | if templ_7745c5c3_Err != nil { | ||
| 1060 | return templ_7745c5c3_Err | 1089 | return templ_7745c5c3_Err | ||
| 1061 | } | 1090 | } | ||
| 1062 | - | var templ_7745c5c3_Var52 string | 1091 | + | var templ_7745c5c3_Var53 string |
| 1063 | - | templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) | 1092 | + | templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(p.Title) |
| 1064 | if templ_7745c5c3_Err != nil { | 1093 | if templ_7745c5c3_Err != nil { | ||
| 1065 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 198, Col: 33} | 1094 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 207, Col: 33} |
| 1066 | } | 1095 | } | ||
| 1067 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52)) | 1096 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53)) |
| 1068 | if templ_7745c5c3_Err != nil { | 1097 | if templ_7745c5c3_Err != nil { | ||
| 1069 | return templ_7745c5c3_Err | 1098 | return templ_7745c5c3_Err | ||
| 1070 | } | 1099 | } | ||
| 1071 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "</h1><form class=\"state-act\" data-js data-passkey-form><button type=\"submit\" class=\"btn primary\" data-passkey=\"login\" data-begin=\"") | 1100 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "</h1><form class=\"state-act\" data-js data-passkey-form><button type=\"submit\" class=\"btn primary\" data-passkey=\"login\" data-begin=\"") |
| 1072 | if templ_7745c5c3_Err != nil { | 1101 | if templ_7745c5c3_Err != nil { | ||
| 1073 | return templ_7745c5c3_Err | 1102 | return templ_7745c5c3_Err | ||
| 1074 | } | 1103 | } | ||
| 1075 | - | var templ_7745c5c3_Var53 string | 1104 | + | var templ_7745c5c3_Var54 string |
| 1076 | - | templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) | 1105 | + | templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) |
| 1077 | if templ_7745c5c3_Err != nil { | 1106 | if templ_7745c5c3_Err != nil { | ||
| 1078 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 200, Col: 87} | 1107 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 209, Col: 87} |
| 1079 | } | 1108 | } | ||
| 1080 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var53) | 1109 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var54) |
| 1081 | if templ_7745c5c3_Err != nil { | 1110 | if templ_7745c5c3_Err != nil { | ||
| 1082 | return templ_7745c5c3_Err | 1111 | return templ_7745c5c3_Err | ||
| 1083 | } | 1112 | } | ||
| 1084 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "\" data-finish=\"") | 1113 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "\" data-finish=\"") |
| 1085 | if templ_7745c5c3_Err != nil { | 1114 | if templ_7745c5c3_Err != nil { | ||
| 1086 | return templ_7745c5c3_Err | 1115 | return templ_7745c5c3_Err | ||
| 1087 | } | 1116 | } | ||
| 1088 | - | var templ_7745c5c3_Var54 string | 1117 | + | var templ_7745c5c3_Var55 string |
| 1089 | - | templ_7745c5c3_Var54, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) | 1118 | + | templ_7745c5c3_Var55, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) |
| 1090 | if templ_7745c5c3_Err != nil { | 1119 | if templ_7745c5c3_Err != nil { | ||
| 1091 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 200, Col: 112} | 1120 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 209, Col: 112} |
| 1092 | } | 1121 | } | ||
| 1093 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var54) | 1122 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var55) |
| 1094 | if templ_7745c5c3_Err != nil { | 1123 | if templ_7745c5c3_Err != nil { | ||
| 1095 | return templ_7745c5c3_Err | 1124 | return templ_7745c5c3_Err | ||
| 1096 | } | 1125 | } | ||
| 1097 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "\">") | 1126 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "\">") |
| 1098 | if templ_7745c5c3_Err != nil { | 1127 | if templ_7745c5c3_Err != nil { | ||
| 1099 | return templ_7745c5c3_Err | 1128 | return templ_7745c5c3_Err | ||
| 1100 | } | 1129 | } | ||
| 1101 | - | var templ_7745c5c3_Var55 string | 1130 | + | var templ_7745c5c3_Var56 string |
| 1102 | - | templ_7745c5c3_Var55, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) | 1131 | + | templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.JoinStringErrs(p.Button) |
| 1103 | if templ_7745c5c3_Err != nil { | 1132 | if templ_7745c5c3_Err != nil { | ||
| 1104 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 200, Col: 125} | 1133 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 209, Col: 125} |
| 1105 | } | 1134 | } | ||
| 1106 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var55)) | 1135 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var56)) |
| 1107 | if templ_7745c5c3_Err != nil { | 1136 | if templ_7745c5c3_Err != nil { | ||
| 1108 | return templ_7745c5c3_Err | 1137 | return templ_7745c5c3_Err | ||
| 1109 | } | 1138 | } | ||
| 1110 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "</button></form><p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") | 1139 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "</button></form><p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") |
| 1111 | if templ_7745c5c3_Err != nil { | 1140 | if templ_7745c5c3_Err != nil { | ||
| 1112 | return templ_7745c5c3_Err | 1141 | return templ_7745c5c3_Err | ||
| 1113 | } | 1142 | } | ||
| 1114 | for _, line := range p.Lines { | 1143 | for _, line := range p.Lines { | ||
| 1115 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "<p class=\"dim\">") | 1144 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "<p class=\"dim\">") |
| 1116 | if templ_7745c5c3_Err != nil { | 1145 | if templ_7745c5c3_Err != nil { | ||
| 1117 | return templ_7745c5c3_Err | 1146 | return templ_7745c5c3_Err | ||
| 1118 | } | 1147 | } | ||
| 1119 | - | var templ_7745c5c3_Var56 string | 1148 | + | var templ_7745c5c3_Var57 string |
| 1120 | - | templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.JoinStringErrs(line) | 1149 | + | templ_7745c5c3_Var57, templ_7745c5c3_Err = templ.JoinStringErrs(line) |
| 1121 | if templ_7745c5c3_Err != nil { | 1150 | if templ_7745c5c3_Err != nil { | ||
| 1122 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 204, Col: 25} | 1151 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 213, Col: 25} |
| 1123 | } | 1152 | } | ||
| 1124 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var56)) | 1153 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var57)) |
| 1125 | if templ_7745c5c3_Err != nil { | 1154 | if templ_7745c5c3_Err != nil { | ||
| 1126 | return templ_7745c5c3_Err | 1155 | return templ_7745c5c3_Err | ||
| 1127 | } | 1156 | } | ||
| 1128 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "</p>") | 1157 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "</p>") |
| 1129 | if templ_7745c5c3_Err != nil { | 1158 | if templ_7745c5c3_Err != nil { | ||
| 1130 | return templ_7745c5c3_Err | 1159 | return templ_7745c5c3_Err | ||
| 1131 | } | 1160 | } | ||
| 1132 | } | 1161 | } | ||
| 1133 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "<p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") | 1162 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "<p class=\"state-back\"><a href=\"/\">Back to home</a></p></section>") |
| 1134 | if templ_7745c5c3_Err != nil { | 1163 | if templ_7745c5c3_Err != nil { | ||
| 1135 | return templ_7745c5c3_Err | 1164 | return templ_7745c5c3_Err | ||
| 1136 | } | 1165 | } | ||
| 1137 | return nil | 1166 | return nil | ||
| 1138 | }) | 1167 | }) | ||
| 1139 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var51), templ_7745c5c3_Buffer) | 1168 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var52), templ_7745c5c3_Buffer) |
| 1140 | if templ_7745c5c3_Err != nil { | 1169 | if templ_7745c5c3_Err != nil { | ||
| 1141 | return templ_7745c5c3_Err | 1170 | return templ_7745c5c3_Err | ||
| 1142 | } | 1171 | } | ||
| @@ -1161,12 +1190,12 @@ func Passkeys(l Layout, p PasskeysPage) templ.Component { | |||||
| 1161 | }() | 1190 | }() | ||
| 1162 | } | 1191 | } | ||
| 1163 | ctx = templ.InitializeContext(ctx) | 1192 | ctx = templ.InitializeContext(ctx) | ||
| 1164 | - | templ_7745c5c3_Var57 := templ.GetChildren(ctx) | 1193 | + | templ_7745c5c3_Var58 := templ.GetChildren(ctx) |
| 1165 | - | if templ_7745c5c3_Var57 == nil { | 1194 | + | if templ_7745c5c3_Var58 == nil { |
| 1166 | - | templ_7745c5c3_Var57 = templ.NopComponent | 1195 | + | templ_7745c5c3_Var58 = templ.NopComponent |
| 1167 | } | 1196 | } | ||
| 1168 | ctx = templ.ClearChildren(ctx) | 1197 | ctx = templ.ClearChildren(ctx) | ||
| 1169 | - | templ_7745c5c3_Var58 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 1198 | + | templ_7745c5c3_Var59 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { |
| 1170 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 1199 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 1171 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 1200 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| 1172 | if !templ_7745c5c3_IsBuffer { | 1201 | if !templ_7745c5c3_IsBuffer { | ||
| @@ -1178,231 +1207,231 @@ func Passkeys(l Layout, p PasskeysPage) templ.Component { | |||||
| 1178 | }() | 1207 | }() | ||
| 1179 | } | 1208 | } | ||
| 1180 | ctx = templ.InitializeContext(ctx) | 1209 | ctx = templ.InitializeContext(ctx) | ||
| 1181 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "<h2 class=\"rule-h\"><span>Passkeys</span><span class=\"count\">") | 1210 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "<h2 class=\"rule-h\"><span>Passkeys</span><span class=\"count\">") |
| 1182 | if templ_7745c5c3_Err != nil { | 1211 | if templ_7745c5c3_Err != nil { | ||
| 1183 | return templ_7745c5c3_Err | 1212 | return templ_7745c5c3_Err | ||
| 1184 | } | 1213 | } | ||
| 1185 | - | var templ_7745c5c3_Var59 string | 1214 | + | var templ_7745c5c3_Var60 string |
| 1186 | - | templ_7745c5c3_Var59, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Rows))) | 1215 | + | templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Rows))) |
| 1187 | if templ_7745c5c3_Err != nil { | 1216 | if templ_7745c5c3_Err != nil { | ||
| 1188 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 214, Col: 81} | 1217 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 223, Col: 81} |
| 1189 | } | 1218 | } | ||
| 1190 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var59)) | 1219 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var60)) |
| 1191 | if templ_7745c5c3_Err != nil { | 1220 | if templ_7745c5c3_Err != nil { | ||
| 1192 | return templ_7745c5c3_Err | 1221 | return templ_7745c5c3_Err | ||
| 1193 | } | 1222 | } | ||
| 1194 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "</span></h2><p class=\"dim\">A passkey signs you in from this device or your phone, without a terminal. Removing one signs every browser out.</p>") | 1223 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "</span></h2><p class=\"dim\">A passkey signs you in from this device or your phone, without a terminal. Removing one signs every browser out.</p>") |
| 1195 | if templ_7745c5c3_Err != nil { | 1224 | if templ_7745c5c3_Err != nil { | ||
| 1196 | return templ_7745c5c3_Err | 1225 | return templ_7745c5c3_Err | ||
| 1197 | } | 1226 | } | ||
| 1198 | if len(p.Rows) > 0 { | 1227 | if len(p.Rows) > 0 { | ||
| 1199 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "<table class=\"list passkeys\" aria-label=\"Passkeys\"><thead><tr><th class=\"cur\"></th><th class=\"c-name\">Name</th><th class=\"c-when\">Created</th><th class=\"c-when\">Last used</th><th class=\"c-sync\">Synced</th><th class=\"c-act\"><span class=\"sr\">Remove</span></th></tr></thead> <tbody>") | 1228 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, "<table class=\"list passkeys\" aria-label=\"Passkeys\"><thead><tr><th class=\"cur\"></th><th class=\"c-name\">Name</th><th class=\"c-when\">Created</th><th class=\"c-when\">Last used</th><th class=\"c-sync\">Synced</th><th class=\"c-act\"><span class=\"sr\">Remove</span></th></tr></thead> <tbody>") |
| 1200 | if templ_7745c5c3_Err != nil { | 1229 | if templ_7745c5c3_Err != nil { | ||
| 1201 | return templ_7745c5c3_Err | 1230 | return templ_7745c5c3_Err | ||
| 1202 | } | 1231 | } | ||
| 1203 | for _, r := range p.Rows { | 1232 | for _, r := range p.Rows { | ||
| 1204 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "<tr><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-name\">") | 1233 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, "<tr><td class=\"cur\" aria-hidden=\"true\"></td><td class=\"c-name\">") |
| 1205 | if templ_7745c5c3_Err != nil { | 1234 | if templ_7745c5c3_Err != nil { | ||
| 1206 | return templ_7745c5c3_Err | 1235 | return templ_7745c5c3_Err | ||
| 1207 | } | 1236 | } | ||
| 1208 | - | var templ_7745c5c3_Var60 string | 1237 | + | var templ_7745c5c3_Var61 string |
| 1209 | - | templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) | 1238 | + | templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.JoinStringErrs(r.Name) |
| 1210 | if templ_7745c5c3_Err != nil { | 1239 | if templ_7745c5c3_Err != nil { | ||
| 1211 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 232, Col: 34} | 1240 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 241, Col: 34} |
| 1212 | } | 1241 | } | ||
| 1213 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var60)) | 1242 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var61)) |
| 1214 | if templ_7745c5c3_Err != nil { | 1243 | if templ_7745c5c3_Err != nil { | ||
| 1215 | return templ_7745c5c3_Err | 1244 | return templ_7745c5c3_Err | ||
| 1216 | } | 1245 | } | ||
| 1217 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, "</td><td class=\"c-when nowrap\"><time") | 1246 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "</td><td class=\"c-when nowrap\"><time") |
| 1218 | if templ_7745c5c3_Err != nil { | 1247 | if templ_7745c5c3_Err != nil { | ||
| 1219 | return templ_7745c5c3_Err | 1248 | return templ_7745c5c3_Err | ||
| 1220 | } | 1249 | } | ||
| 1221 | if r.CreatedAt != "" { | 1250 | if r.CreatedAt != "" { | ||
| 1222 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, " datetime=\"") | 1251 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, " datetime=\"") |
| 1223 | if templ_7745c5c3_Err != nil { | 1252 | if templ_7745c5c3_Err != nil { | ||
| 1224 | return templ_7745c5c3_Err | 1253 | return templ_7745c5c3_Err | ||
| 1225 | } | 1254 | } | ||
| 1226 | - | var templ_7745c5c3_Var61 string | 1255 | + | var templ_7745c5c3_Var62 string |
| 1227 | - | templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.CreatedAt) | 1256 | + | templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.CreatedAt) |
| 1228 | if templ_7745c5c3_Err != nil { | 1257 | if templ_7745c5c3_Err != nil { | ||
| 1229 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 236, Col: 32} | 1258 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 245, Col: 32} |
| 1230 | } | 1259 | } | ||
| 1231 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var61) | 1260 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var62) |
| 1232 | if templ_7745c5c3_Err != nil { | 1261 | if templ_7745c5c3_Err != nil { | ||
| 1233 | return templ_7745c5c3_Err | 1262 | return templ_7745c5c3_Err | ||
| 1234 | } | 1263 | } | ||
| 1235 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, "\"") | 1264 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, "\"") |
| 1236 | if templ_7745c5c3_Err != nil { | 1265 | if templ_7745c5c3_Err != nil { | ||
| 1237 | return templ_7745c5c3_Err | 1266 | return templ_7745c5c3_Err | ||
| 1238 | } | 1267 | } | ||
| 1239 | } | 1268 | } | ||
| 1240 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, ">") | 1269 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, ">") |
| 1241 | if templ_7745c5c3_Err != nil { | 1270 | if templ_7745c5c3_Err != nil { | ||
| 1242 | return templ_7745c5c3_Err | 1271 | return templ_7745c5c3_Err | ||
| 1243 | } | 1272 | } | ||
| 1244 | - | var templ_7745c5c3_Var62 string | 1273 | + | var templ_7745c5c3_Var63 string |
| 1245 | - | templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(r.Created) | 1274 | + | templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.JoinStringErrs(r.Created) |
| 1246 | if templ_7745c5c3_Err != nil { | 1275 | if templ_7745c5c3_Err != nil { | ||
| 1247 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 238, Col: 20} | 1276 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 247, Col: 20} |
| 1248 | } | 1277 | } | ||
| 1249 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62)) | 1278 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var63)) |
| 1250 | if templ_7745c5c3_Err != nil { | 1279 | if templ_7745c5c3_Err != nil { | ||
| 1251 | return templ_7745c5c3_Err | 1280 | return templ_7745c5c3_Err | ||
| 1252 | } | 1281 | } | ||
| 1253 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, "</time></td><td class=\"c-when nowrap\"><time") | 1282 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, "</time></td><td class=\"c-when nowrap\"><time") |
| 1254 | if templ_7745c5c3_Err != nil { | 1283 | if templ_7745c5c3_Err != nil { | ||
| 1255 | return templ_7745c5c3_Err | 1284 | return templ_7745c5c3_Err | ||
| 1256 | } | 1285 | } | ||
| 1257 | if r.LastUsedAt != "" { | 1286 | if r.LastUsedAt != "" { | ||
| 1258 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, " datetime=\"") | 1287 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, " datetime=\"") |
| 1259 | if templ_7745c5c3_Err != nil { | 1288 | if templ_7745c5c3_Err != nil { | ||
| 1260 | return templ_7745c5c3_Err | 1289 | return templ_7745c5c3_Err | ||
| 1261 | } | 1290 | } | ||
| 1262 | - | var templ_7745c5c3_Var63 string | 1291 | + | var templ_7745c5c3_Var64 string |
| 1263 | - | templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.LastUsedAt) | 1292 | + | templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.ResolveAttributeValue(r.LastUsedAt) |
| 1264 | if templ_7745c5c3_Err != nil { | 1293 | if templ_7745c5c3_Err != nil { | ||
| 1265 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 243, Col: 33} | 1294 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 252, Col: 33} |
| 1266 | } | 1295 | } | ||
| 1267 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var63) | 1296 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var64) |
| 1268 | if templ_7745c5c3_Err != nil { | 1297 | if templ_7745c5c3_Err != nil { | ||
| 1269 | return templ_7745c5c3_Err | 1298 | return templ_7745c5c3_Err | ||
| 1270 | } | 1299 | } | ||
| 1271 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, "\"") | 1300 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "\"") |
| 1272 | if templ_7745c5c3_Err != nil { | 1301 | if templ_7745c5c3_Err != nil { | ||
| 1273 | return templ_7745c5c3_Err | 1302 | return templ_7745c5c3_Err | ||
| 1274 | } | 1303 | } | ||
| 1275 | } | 1304 | } | ||
| 1276 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, ">") | 1305 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, ">") |
| 1277 | if templ_7745c5c3_Err != nil { | 1306 | if templ_7745c5c3_Err != nil { | ||
| 1278 | return templ_7745c5c3_Err | 1307 | return templ_7745c5c3_Err | ||
| 1279 | } | 1308 | } | ||
| 1280 | - | var templ_7745c5c3_Var64 string | 1309 | + | var templ_7745c5c3_Var65 string |
| 1281 | - | templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.JoinStringErrs(r.LastUsed) | 1310 | + | templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinStringErrs(r.LastUsed) |
| 1282 | if templ_7745c5c3_Err != nil { | 1311 | if templ_7745c5c3_Err != nil { | ||
| 1283 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 245, Col: 21} | 1312 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 254, Col: 21} |
| 1284 | } | 1313 | } | ||
| 1285 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var64)) | 1314 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) |
| 1286 | if templ_7745c5c3_Err != nil { | 1315 | if templ_7745c5c3_Err != nil { | ||
| 1287 | return templ_7745c5c3_Err | 1316 | return templ_7745c5c3_Err | ||
| 1288 | } | 1317 | } | ||
| 1289 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "</time></td><td class=\"c-sync\">") | 1318 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, "</time></td><td class=\"c-sync\">") |
| 1290 | if templ_7745c5c3_Err != nil { | 1319 | if templ_7745c5c3_Err != nil { | ||
| 1291 | return templ_7745c5c3_Err | 1320 | return templ_7745c5c3_Err | ||
| 1292 | } | 1321 | } | ||
| 1293 | if r.Synced { | 1322 | if r.Synced { | ||
| 1294 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, "yes") | 1323 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "yes") |
| 1295 | if templ_7745c5c3_Err != nil { | 1324 | if templ_7745c5c3_Err != nil { | ||
| 1296 | return templ_7745c5c3_Err | 1325 | return templ_7745c5c3_Err | ||
| 1297 | } | 1326 | } | ||
| 1298 | } else { | 1327 | } else { | ||
| 1299 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "no") | 1328 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, "no") |
| 1300 | if templ_7745c5c3_Err != nil { | 1329 | if templ_7745c5c3_Err != nil { | ||
| 1301 | return templ_7745c5c3_Err | 1330 | return templ_7745c5c3_Err | ||
| 1302 | } | 1331 | } | ||
| 1303 | } | 1332 | } | ||
| 1304 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "</td><td class=\"c-act\"><form method=\"post\" action=\"") | 1333 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, "</td><td class=\"c-act\"><form method=\"post\" action=\"") |
| 1305 | if templ_7745c5c3_Err != nil { | 1334 | if templ_7745c5c3_Err != nil { | ||
| 1306 | return templ_7745c5c3_Err | 1335 | return templ_7745c5c3_Err | ||
| 1307 | } | 1336 | } | ||
| 1308 | - | var templ_7745c5c3_Var65 templ.SafeURL | 1337 | + | var templ_7745c5c3_Var66 templ.SafeURL |
| 1309 | - | templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Remove)) | 1338 | + | templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(r.Remove)) |
| 1310 | if templ_7745c5c3_Err != nil { | 1339 | if templ_7745c5c3_Err != nil { | ||
| 1311 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 255, Col: 60} | 1340 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 264, Col: 60} |
| 1312 | } | 1341 | } | ||
| 1313 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) | 1342 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var66)) |
| 1314 | if templ_7745c5c3_Err != nil { | 1343 | if templ_7745c5c3_Err != nil { | ||
| 1315 | return templ_7745c5c3_Err | 1344 | return templ_7745c5c3_Err | ||
| 1316 | } | 1345 | } | ||
| 1317 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 101, "\"><button type=\"submit\" class=\"btn danger\" aria-label=\"") | 1346 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "\"><button type=\"submit\" class=\"btn danger\" aria-label=\"") |
| 1318 | if templ_7745c5c3_Err != nil { | 1347 | if templ_7745c5c3_Err != nil { | ||
| 1319 | return templ_7745c5c3_Err | 1348 | return templ_7745c5c3_Err | ||
| 1320 | } | 1349 | } | ||
| 1321 | - | var templ_7745c5c3_Var66 string | 1350 | + | var templ_7745c5c3_Var67 string |
| 1322 | - | templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.ResolveAttributeValue("Remove passkey " + r.Name) | 1351 | + | templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.ResolveAttributeValue("Remove passkey " + r.Name) |
| 1323 | if templ_7745c5c3_Err != nil { | 1352 | if templ_7745c5c3_Err != nil { | ||
| 1324 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 256, Col: 89} | 1353 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 265, Col: 89} |
| 1325 | } | 1354 | } | ||
| 1326 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var66) | 1355 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var67) |
| 1327 | if templ_7745c5c3_Err != nil { | 1356 | if templ_7745c5c3_Err != nil { | ||
| 1328 | return templ_7745c5c3_Err | 1357 | return templ_7745c5c3_Err | ||
| 1329 | } | 1358 | } | ||
| 1330 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 102, "\">Remove</button></form></td></tr>") | 1359 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 101, "\">Remove</button></form></td></tr>") |
| 1331 | if templ_7745c5c3_Err != nil { | 1360 | if templ_7745c5c3_Err != nil { | ||
| 1332 | return templ_7745c5c3_Err | 1361 | return templ_7745c5c3_Err | ||
| 1333 | } | 1362 | } | ||
| 1334 | } | 1363 | } | ||
| 1335 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 103, "</tbody></table>") | 1364 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 102, "</tbody></table>") |
| 1336 | if templ_7745c5c3_Err != nil { | 1365 | if templ_7745c5c3_Err != nil { | ||
| 1337 | return templ_7745c5c3_Err | 1366 | return templ_7745c5c3_Err | ||
| 1338 | } | 1367 | } | ||
| 1339 | } else { | 1368 | } else { | ||
| 1340 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 104, "<p class=\"lede dim\">no passkeys yet.</p>") | 1369 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 103, "<p class=\"lede dim\">no passkeys yet.</p>") |
| 1341 | if templ_7745c5c3_Err != nil { | 1370 | if templ_7745c5c3_Err != nil { | ||
| 1342 | return templ_7745c5c3_Err | 1371 | return templ_7745c5c3_Err | ||
| 1343 | } | 1372 | } | ||
| 1344 | } | 1373 | } | ||
| 1345 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 105, " ") | 1374 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 104, " ") |
| 1346 | if templ_7745c5c3_Err != nil { | 1375 | if templ_7745c5c3_Err != nil { | ||
| 1347 | return templ_7745c5c3_Err | 1376 | return templ_7745c5c3_Err | ||
| 1348 | } | 1377 | } | ||
| 1349 | if p.Full { | 1378 | if p.Full { | ||
| 1350 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 106, "<p class=\"dim\">") | 1379 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 105, "<p class=\"dim\">") |
| 1351 | if templ_7745c5c3_Err != nil { | 1380 | if templ_7745c5c3_Err != nil { | ||
| 1352 | return templ_7745c5c3_Err | 1381 | return templ_7745c5c3_Err | ||
| 1353 | } | 1382 | } | ||
| 1354 | - | var templ_7745c5c3_Var67 string | 1383 | + | var templ_7745c5c3_Var68 string |
| 1355 | - | templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Max)) | 1384 | + | templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Max)) |
| 1356 | if templ_7745c5c3_Err != nil { | 1385 | if templ_7745c5c3_Err != nil { | ||
| 1357 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 267, Col: 31} | 1386 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 276, Col: 31} |
| 1358 | } | 1387 | } | ||
| 1359 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var67)) | 1388 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68)) |
| 1360 | if templ_7745c5c3_Err != nil { | 1389 | if templ_7745c5c3_Err != nil { | ||
| 1361 | return templ_7745c5c3_Err | 1390 | return templ_7745c5c3_Err | ||
| 1362 | } | 1391 | } | ||
| 1363 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 107, " passkeys are registered, the most there can be. Remove one to add another.</p>") | 1392 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 106, " passkeys are registered, the most there can be. Remove one to add another.</p>") |
| 1364 | if templ_7745c5c3_Err != nil { | 1393 | if templ_7745c5c3_Err != nil { | ||
| 1365 | return templ_7745c5c3_Err | 1394 | return templ_7745c5c3_Err | ||
| 1366 | } | 1395 | } | ||
| 1367 | } else { | 1396 | } else { | ||
| 1368 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 108, "<form class=\"passkey-add\" data-js data-passkey-form><label for=\"passkey-name\" class=\"sr\">Name of the new passkey</label> <input id=\"passkey-name\" type=\"text\" placeholder=\"Name, for example Pixel 9\" autocomplete=\"off\" data-passkey-name> <button type=\"submit\" class=\"btn primary\" data-passkey=\"register\" data-begin=\"") | 1397 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 107, "<form class=\"passkey-add\" data-js data-passkey-form><label for=\"passkey-name\" class=\"sr\">Name of the new passkey</label> <input id=\"passkey-name\" type=\"text\" placeholder=\"Name, for example Pixel 9\" autocomplete=\"off\" data-passkey-name> <button type=\"submit\" class=\"btn primary\" data-passkey=\"register\" data-begin=\"") |
| 1369 | if templ_7745c5c3_Err != nil { | 1398 | if templ_7745c5c3_Err != nil { | ||
| 1370 | return templ_7745c5c3_Err | 1399 | return templ_7745c5c3_Err | ||
| 1371 | } | 1400 | } | ||
| 1372 | - | var templ_7745c5c3_Var68 string | 1401 | + | var templ_7745c5c3_Var69 string |
| 1373 | - | templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) | 1402 | + | templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Begin) |
| 1374 | if templ_7745c5c3_Err != nil { | 1403 | if templ_7745c5c3_Err != nil { | ||
| 1375 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 272, Col: 90} | 1404 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 281, Col: 90} |
| 1376 | } | 1405 | } | ||
| 1377 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var68) | 1406 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var69) |
| 1378 | if templ_7745c5c3_Err != nil { | 1407 | if templ_7745c5c3_Err != nil { | ||
| 1379 | return templ_7745c5c3_Err | 1408 | return templ_7745c5c3_Err | ||
| 1380 | } | 1409 | } | ||
| 1381 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "\" data-finish=\"") | 1410 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 108, "\" data-finish=\"") |
| 1382 | if templ_7745c5c3_Err != nil { | 1411 | if templ_7745c5c3_Err != nil { | ||
| 1383 | return templ_7745c5c3_Err | 1412 | return templ_7745c5c3_Err | ||
| 1384 | } | 1413 | } | ||
| 1385 | - | var templ_7745c5c3_Var69 string | 1414 | + | var templ_7745c5c3_Var70 string |
| 1386 | - | templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) | 1415 | + | templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Finish) |
| 1387 | if templ_7745c5c3_Err != nil { | 1416 | if templ_7745c5c3_Err != nil { | ||
| 1388 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 272, Col: 115} | 1417 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/pages.templ`, Line: 281, Col: 115} |
| 1389 | } | 1418 | } | ||
| 1390 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var69) | 1419 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var70) |
| 1391 | if templ_7745c5c3_Err != nil { | 1420 | if templ_7745c5c3_Err != nil { | ||
| 1392 | return templ_7745c5c3_Err | 1421 | return templ_7745c5c3_Err | ||
| 1393 | } | 1422 | } | ||
| 1394 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, "\">Add a passkey</button></form>") | 1423 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "\">Add a passkey</button></form>") |
| 1395 | if templ_7745c5c3_Err != nil { | 1424 | if templ_7745c5c3_Err != nil { | ||
| 1396 | return templ_7745c5c3_Err | 1425 | return templ_7745c5c3_Err | ||
| 1397 | } | 1426 | } | ||
| 1398 | } | 1427 | } | ||
| 1399 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 111, " <p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") | 1428 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, " <p class=\"dim\" role=\"status\" aria-live=\"polite\" data-passkey-status></p>") |
| 1400 | if templ_7745c5c3_Err != nil { | 1429 | if templ_7745c5c3_Err != nil { | ||
| 1401 | return templ_7745c5c3_Err | 1430 | return templ_7745c5c3_Err | ||
| 1402 | } | 1431 | } | ||
| 1403 | return nil | 1432 | return nil | ||
| 1404 | }) | 1433 | }) | ||
| 1405 | - | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var58), templ_7745c5c3_Buffer) | 1434 | + | templ_7745c5c3_Err = Shell(l, nil).Render(templ.WithChildren(ctx, templ_7745c5c3_Var59), templ_7745c5c3_Buffer) |
| 1406 | if templ_7745c5c3_Err != nil { | 1435 | if templ_7745c5c3_Err != nil { | ||
| 1407 | return templ_7745c5c3_Err | 1436 | return templ_7745c5c3_Err | ||
| 1408 | } | 1437 | } | ||
M internal/adapters/web/static/css/20-shell.css +8 -6
| @@ -134,13 +134,15 @@ | |||
| 134 | 134 | .rail section > .list { margin: var(--s2) 0; } | |
| 135 | 135 | .rail section > p + p { margin-top: calc(-1 * var(--s2)); } | |
| 136 | 136 | ||
| 137 | - | /* newest tag in the summary rail */ | |
| 138 | - | .latest-tag { | |
| 139 | - | display: flex; flex-wrap: wrap; align-items: center; gap: var(--s1) var(--s2); font-size: var(--fs-s); | |
| 140 | - | & .tag-name { display: inline-flex; align-items: center; gap: 6px; font: 700 var(--fs) / 20px var(--mono); color: var(--ink-hi); text-decoration: none; } | |
| 137 | + | /* newest tag, a row of About in the summary rail */ | |
| 138 | + | .kv dd.latest-tag { | |
| 139 | + | display: flex; align-items: baseline; gap: var(--s2); | |
| 140 | + | & .tag-name { display: inline-flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; font-weight: 700; font-family: var(--mono); color: var(--ink-hi); text-decoration: none; } | |
| 141 | + | & .tag-name .ico { flex: none; } | |
| 141 | 142 | & .tag-name:hover { text-decoration: underline; } | |
| 142 | - | & time { margin-left: auto; } | |
| 143 | - | & .tag-sub { flex-basis: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } | |
| 143 | + | & time { white-space: nowrap; } | |
| 144 | + | & .all-tags { margin-left: auto; white-space: nowrap; color: var(--ink-dim); text-decoration: none; } | |
| 145 | + | & .all-tags:hover { color: var(--ink-hi); text-decoration: underline; } | |
| 144 | 146 | } | |
| 145 | 147 | ||
| 146 | 148 | .kv { | |
| @@ -134,13 +134,15 @@ | |||||
| 134 | .rail section > .list { margin: var(--s2) 0; } | 134 | .rail section > .list { margin: var(--s2) 0; } | ||
| 135 | .rail section > p + p { margin-top: calc(-1 * var(--s2)); } | 135 | .rail section > p + p { margin-top: calc(-1 * var(--s2)); } | ||
| 136 | 136 | ||||
| 137 | - | /* newest tag in the summary rail */ | 137 | + | /* newest tag, a row of About in the summary rail */ |
| 138 | - | .latest-tag { | 138 | + | .kv dd.latest-tag { |
| 139 | - | display: flex; flex-wrap: wrap; align-items: center; gap: var(--s1) var(--s2); font-size: var(--fs-s); | 139 | + | display: flex; align-items: baseline; gap: var(--s2); |
| 140 | - | & .tag-name { display: inline-flex; align-items: center; gap: 6px; font: 700 var(--fs) / 20px var(--mono); color: var(--ink-hi); text-decoration: none; } | 140 | + | & .tag-name { display: inline-flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; font-weight: 700; font-family: var(--mono); color: var(--ink-hi); text-decoration: none; } |
| 141 | + | & .tag-name .ico { flex: none; } | |||
| 141 | & .tag-name:hover { text-decoration: underline; } | 142 | & .tag-name:hover { text-decoration: underline; } | ||
| 142 | - | & time { margin-left: auto; } | 143 | + | & time { white-space: nowrap; } |
| 143 | - | & .tag-sub { flex-basis: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } | 144 | + | & .all-tags { margin-left: auto; white-space: nowrap; color: var(--ink-dim); text-decoration: none; } |
| 145 | + | & .all-tags:hover { color: var(--ink-hi); text-decoration: underline; } | |||
| 144 | } | 146 | } | ||
| 145 | 147 | ||||
| 146 | .kv { | 148 | .kv { | ||
M internal/adapters/web/static/css/50-code.css +15 -9
| @@ -115,7 +115,9 @@ | |||
| 115 | 115 | font-size: var(--fs-s); position: relative; /* the offsets of its links count from it (ermite.js) */ | |
| 116 | 116 | & li[hidden] { display: none; } | |
| 117 | 117 | & a { | |
| 118 | - | display: grid; grid-template-columns: 1.5ch minmax(0, 1fr) auto auto; column-gap: var(--s2); align-items: baseline; | |
| 118 | + | /* centred, not on the baseline: the smaller counts on a baseline sit | |
| 119 | + | a pixel below the row, enough to give the list a scroll bar */ | |
| 120 | + | display: grid; grid-template-columns: 1.5ch minmax(0, 1fr) auto auto; column-gap: var(--s2); align-items: center; | |
| 119 | 121 | height: 26px; line-height: 26px; padding: 0 var(--s2); margin: 0 calc(-1 * var(--s2)); | |
| 120 | 122 | border-radius: 4px; border-left: 2px solid transparent; text-decoration: none; font-family: var(--mono); color: var(--ink); | |
| 121 | 123 | } | |
| @@ -127,9 +129,11 @@ | |||
| 127 | 129 | & .st[data-st="A"] { color: var(--teal); } | |
| 128 | 130 | & .st[data-st="D"] { color: var(--red); } | |
| 129 | 131 | & .nm { overflow: hidden; white-space: nowrap; display: flex; min-width: 0; } | |
| 130 | - | & .nm .p { flex: none; max-width: 100%; overflow: hidden; text-overflow: ellipsis; } | |
| 132 | + | /* the name gives way last: the directory shrinks first, down to its | |
| 133 | + | ellipsis, before the name is cut */ | |
| 134 | + | & .nm .p { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; } | |
| 131 | 135 | /* cut from the start (rtl), the path itself kept in its order (bdi) */ | |
| 132 | - | & .nm .d { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; direction: rtl; text-align: left; color: var(--ink-mute); padding-left: 1ch; } | |
| 136 | + | & .nm .d { flex: 0 1000 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; direction: rtl; text-align: left; color: var(--ink-mute); padding-left: 1ch; } | |
| 133 | 137 | & .nm .d bdi { direction: ltr; } | |
| 134 | 138 | & .cn { font: 600 var(--fs-xs) / 16px var(--font); padding: 0 6px; border-radius: 999px; background: var(--ink-hi); color: var(--on-ink); align-self: center; } | |
| 135 | 139 | & .cn.done { background: var(--bg-strong); color: var(--ink-dim); } | |
| @@ -148,18 +152,20 @@ | |||
| 148 | 152 | & .c-sha { width: 96px; } | |
| 149 | 153 | & .c-sub { width: auto; } | |
| 150 | 154 | } | |
| 151 | - | /* the commit table inside a rail block: no frame of its own */ | |
| 155 | + | /* the commit table inside a rail block: no frame of its own. The id, the | |
| 156 | + | checks and the date take the width of their text (an empty checks cell | |
| 157 | + | next to nothing); the subject takes the rest, cut at its end only. */ | |
| 152 | 158 | .rail .list.commits { | |
| 153 | - | border: 0; border-radius: 0; background: none; | |
| 154 | - | & td { height: 34px; padding: 0 var(--s2); } | |
| 159 | + | border: 0; border-radius: 0; background: none; table-layout: auto; | |
| 160 | + | & td { height: 34px; padding: 0 var(--s2); width: 1%; white-space: nowrap; } | |
| 155 | 161 | & td.cur { width: 3px; padding: 0; } | |
| 156 | 162 | & td:nth-child(2) { padding-left: var(--s3); } | |
| 157 | 163 | & td:last-child { padding-right: var(--s4); } | |
| 158 | 164 | & .c-who { display: none; } | |
| 159 | - | & .c-sha { width: 72px; } | |
| 160 | - | & .c-subject { font-size: var(--fs-s); } | |
| 165 | + | & .c-subject { width: auto; max-width: 0; font-size: var(--fs-s); } | |
| 161 | 166 | & .c-subject .pill { display: none; } | |
| 162 | - | & .c-when { width: 70px; text-align: right; } | |
| 167 | + | & .c-ck:empty { padding: 0; } | |
| 168 | + | & .c-when { text-align: right; } | |
| 163 | 169 | } | |
| 164 | 170 | .rail section > p { overflow-wrap: anywhere; } | |
| 165 | 171 | @media (max-width: 700px) { | |
| @@ -115,7 +115,9 @@ | |||||
| 115 | font-size: var(--fs-s); position: relative; /* the offsets of its links count from it (ermite.js) */ | 115 | font-size: var(--fs-s); position: relative; /* the offsets of its links count from it (ermite.js) */ | ||
| 116 | & li[hidden] { display: none; } | 116 | & li[hidden] { display: none; } | ||
| 117 | & a { | 117 | & a { | ||
| 118 | - | display: grid; grid-template-columns: 1.5ch minmax(0, 1fr) auto auto; column-gap: var(--s2); align-items: baseline; | 118 | + | /* centred, not on the baseline: the smaller counts on a baseline sit |
| 119 | + | a pixel below the row, enough to give the list a scroll bar */ | |||
| 120 | + | display: grid; grid-template-columns: 1.5ch minmax(0, 1fr) auto auto; column-gap: var(--s2); align-items: center; | |||
| 119 | height: 26px; line-height: 26px; padding: 0 var(--s2); margin: 0 calc(-1 * var(--s2)); | 121 | height: 26px; line-height: 26px; padding: 0 var(--s2); margin: 0 calc(-1 * var(--s2)); | ||
| 120 | border-radius: 4px; border-left: 2px solid transparent; text-decoration: none; font-family: var(--mono); color: var(--ink); | 122 | border-radius: 4px; border-left: 2px solid transparent; text-decoration: none; font-family: var(--mono); color: var(--ink); | ||
| 121 | } | 123 | } | ||
| @@ -127,9 +129,11 @@ | |||||
| 127 | & .st[data-st="A"] { color: var(--teal); } | 129 | & .st[data-st="A"] { color: var(--teal); } | ||
| 128 | & .st[data-st="D"] { color: var(--red); } | 130 | & .st[data-st="D"] { color: var(--red); } | ||
| 129 | & .nm { overflow: hidden; white-space: nowrap; display: flex; min-width: 0; } | 131 | & .nm { overflow: hidden; white-space: nowrap; display: flex; min-width: 0; } | ||
| 130 | - | & .nm .p { flex: none; max-width: 100%; overflow: hidden; text-overflow: ellipsis; } | 132 | + | /* the name gives way last: the directory shrinks first, down to its |
| 133 | + | ellipsis, before the name is cut */ | |||
| 134 | + | & .nm .p { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; } | |||
| 131 | /* cut from the start (rtl), the path itself kept in its order (bdi) */ | 135 | /* cut from the start (rtl), the path itself kept in its order (bdi) */ | ||
| 132 | - | & .nm .d { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; direction: rtl; text-align: left; color: var(--ink-mute); padding-left: 1ch; } | 136 | + | & .nm .d { flex: 0 1000 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; direction: rtl; text-align: left; color: var(--ink-mute); padding-left: 1ch; } |
| 133 | & .nm .d bdi { direction: ltr; } | 137 | & .nm .d bdi { direction: ltr; } | ||
| 134 | & .cn { font: 600 var(--fs-xs) / 16px var(--font); padding: 0 6px; border-radius: 999px; background: var(--ink-hi); color: var(--on-ink); align-self: center; } | 138 | & .cn { font: 600 var(--fs-xs) / 16px var(--font); padding: 0 6px; border-radius: 999px; background: var(--ink-hi); color: var(--on-ink); align-self: center; } | ||
| 135 | & .cn.done { background: var(--bg-strong); color: var(--ink-dim); } | 139 | & .cn.done { background: var(--bg-strong); color: var(--ink-dim); } | ||
| @@ -148,18 +152,20 @@ | |||||
| 148 | & .c-sha { width: 96px; } | 152 | & .c-sha { width: 96px; } | ||
| 149 | & .c-sub { width: auto; } | 153 | & .c-sub { width: auto; } | ||
| 150 | } | 154 | } | ||
| 151 | - | /* the commit table inside a rail block: no frame of its own */ | 155 | + | /* the commit table inside a rail block: no frame of its own. The id, the |
| 156 | + | checks and the date take the width of their text (an empty checks cell | |||
| 157 | + | next to nothing); the subject takes the rest, cut at its end only. */ | |||
| 152 | .rail .list.commits { | 158 | .rail .list.commits { | ||
| 153 | - | border: 0; border-radius: 0; background: none; | 159 | + | border: 0; border-radius: 0; background: none; table-layout: auto; |
| 154 | - | & td { height: 34px; padding: 0 var(--s2); } | 160 | + | & td { height: 34px; padding: 0 var(--s2); width: 1%; white-space: nowrap; } |
| 155 | & td.cur { width: 3px; padding: 0; } | 161 | & td.cur { width: 3px; padding: 0; } | ||
| 156 | & td:nth-child(2) { padding-left: var(--s3); } | 162 | & td:nth-child(2) { padding-left: var(--s3); } | ||
| 157 | & td:last-child { padding-right: var(--s4); } | 163 | & td:last-child { padding-right: var(--s4); } | ||
| 158 | & .c-who { display: none; } | 164 | & .c-who { display: none; } | ||
| 159 | - | & .c-sha { width: 72px; } | 165 | + | & .c-subject { width: auto; max-width: 0; font-size: var(--fs-s); } |
| 160 | - | & .c-subject { font-size: var(--fs-s); } | |||
| 161 | & .c-subject .pill { display: none; } | 166 | & .c-subject .pill { display: none; } | ||
| 162 | - | & .c-when { width: 70px; text-align: right; } | 167 | + | & .c-ck:empty { padding: 0; } |
| 168 | + | & .c-when { text-align: right; } | |||
| 163 | } | 169 | } | ||
| 164 | .rail section > p { overflow-wrap: anywhere; } | 170 | .rail section > p { overflow-wrap: anywhere; } | ||
| 165 | @media (max-width: 700px) { | 171 | @media (max-width: 700px) { | ||
M internal/adapters/web/static/css/65-ci.css +8 -1
| @@ -20,7 +20,8 @@ | |||
| 20 | 20 | the refs list has the mark next to the sha. */ | |
| 21 | 21 | .c-ck { width: 1%; white-space: nowrap; } | |
| 22 | 22 | .list .c-ck { width: 92px; } | |
| 23 | - | .rail .list.commits .c-ck { width: 76px; } | |
| 23 | + | /* the commit table of a rail lays out on its content (50-code.css) */ | |
| 24 | + | .rail .list.commits .c-ck { width: 1%; } | |
| 24 | 25 | .list.refs .c-sha { width: 150px; } | |
| 25 | 26 | ||
| 26 | 27 | /* the table is fixed: the status column is the icon, its margin and the | |
| @@ -59,6 +60,12 @@ | |||
| 59 | 60 | .attempts { padding: 0; margin: var(--s2) 0 0; list-style: none; font-size: var(--fs-s); } | |
| 60 | 61 | .checks { display: grid; gap: var(--s1); padding: 0; margin: 0; list-style: none; font-size: var(--fs-s); } | |
| 61 | 62 | .checks li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s1); } | |
| 63 | + | /* the merge rule under the checks: a note about them, not one of them */ | |
| 64 | + | .rail section > .rule-note { | |
| 65 | + | display: flex; gap: 6px; margin-top: var(--s3); padding-top: var(--s2); border-top: 1px dashed var(--border); | |
| 66 | + | font-size: var(--fs-xs); font-style: italic; line-height: 1.4; color: var(--ink-mute); | |
| 67 | + | &::before { content: "i"; flex: none; width: 14px; height: 14px; margin-top: 1px; border: 1px solid currentColor; border-radius: 50%; font: 700 9px / 12px var(--mono); font-style: normal; text-align: center; } | |
| 68 | + | } | |
| 62 | 69 | ||
| 63 | 70 | /* annotations and summaries of a run */ | |
| 64 | 71 | .annots { margin: 0 0 var(--s4); } | |
| @@ -20,7 +20,8 @@ | |||||
| 20 | the refs list has the mark next to the sha. */ | 20 | the refs list has the mark next to the sha. */ | ||
| 21 | .c-ck { width: 1%; white-space: nowrap; } | 21 | .c-ck { width: 1%; white-space: nowrap; } | ||
| 22 | .list .c-ck { width: 92px; } | 22 | .list .c-ck { width: 92px; } | ||
| 23 | - | .rail .list.commits .c-ck { width: 76px; } | 23 | + | /* the commit table of a rail lays out on its content (50-code.css) */ |
| 24 | + | .rail .list.commits .c-ck { width: 1%; } | |||
| 24 | .list.refs .c-sha { width: 150px; } | 25 | .list.refs .c-sha { width: 150px; } | ||
| 25 | 26 | ||||
| 26 | /* the table is fixed: the status column is the icon, its margin and the | 27 | /* the table is fixed: the status column is the icon, its margin and the | ||
| @@ -59,6 +60,12 @@ | |||||
| 59 | .attempts { padding: 0; margin: var(--s2) 0 0; list-style: none; font-size: var(--fs-s); } | 60 | .attempts { padding: 0; margin: var(--s2) 0 0; list-style: none; font-size: var(--fs-s); } | ||
| 60 | .checks { display: grid; gap: var(--s1); padding: 0; margin: 0; list-style: none; font-size: var(--fs-s); } | 61 | .checks { display: grid; gap: var(--s1); padding: 0; margin: 0; list-style: none; font-size: var(--fs-s); } | ||
| 61 | .checks li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s1); } | 62 | .checks li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s1); } | ||
| 63 | + | /* the merge rule under the checks: a note about them, not one of them */ | |||
| 64 | + | .rail section > .rule-note { | |||
| 65 | + | display: flex; gap: 6px; margin-top: var(--s3); padding-top: var(--s2); border-top: 1px dashed var(--border); | |||
| 66 | + | font-size: var(--fs-xs); font-style: italic; line-height: 1.4; color: var(--ink-mute); | |||
| 67 | + | &::before { content: "i"; flex: none; width: 14px; height: 14px; margin-top: 1px; border: 1px solid currentColor; border-radius: 50%; font: 700 9px / 12px var(--mono); font-style: normal; text-align: center; } | |||
| 68 | + | } | |||
| 62 | 69 | ||||
| 63 | /* annotations and summaries of a run */ | 70 | /* annotations and summaries of a run */ | ||
| 64 | .annots { margin: 0 0 var(--s4); } | 71 | .annots { margin: 0 0 var(--s4); } | ||
M internal/app/testdata/web/summary.html +6 -11
| @@ -147,20 +147,15 @@ | |||
| 147 | 147 | <dd> | |
| 148 | 148 | <time datetime="STAMP">STAMP</time> | |
| 149 | 149 | </dd> | |
| 150 | - | </dl> | |
| 151 | - | </section> | |
| 152 | - | <section aria-labelledby="r-tag"> | |
| 153 | - | <h2 id="r-tag">Tags <span class="count">2</span> | |
| 154 | - | <a href="/demo/refs">View all</a> | |
| 155 | - | </h2> | |
| 156 | - | <div class="latest-tag"> | |
| 157 | - | <a class="tag-name" href="/demo/tree/v0.2.0"> | |
| 150 | + | <dt>latest tag</dt> | |
| 151 | + | <dd class="latest-tag"> | |
| 152 | + | <a class="tag-name" href="/demo/tree/v0.2.0" title="add main.go"> | |
| 158 | 153 | <span class="ico i-tag" aria-hidden="true"> | |
| 159 | 154 | </span>v0.2.0</a> | |
| 160 | - | <span class="pill">latest</span> | |
| 161 | 155 | <time class="dim" datetime="STAMP" title="STAMP">AGO</time> | |
| 162 | - | <p class="tag-sub dim">add main.go</p> | |
| 163 | - | </div> | |
| 156 | + | <a class="all-tags" href="/demo/refs">2 tags</a> | |
| 157 | + | </dd> | |
| 158 | + | </dl> | |
| 164 | 159 | </section> | |
| 165 | 160 | <section aria-labelledby="r-recent"> | |
| 166 | 161 | <h2 id="r-recent">Recent commits <a href="/demo/commits/main">View all</a> | |
| @@ -147,20 +147,15 @@ | |||||
| 147 | <dd> | 147 | <dd> | ||
| 148 | <time datetime="STAMP">STAMP</time> | 148 | <time datetime="STAMP">STAMP</time> | ||
| 149 | </dd> | 149 | </dd> | ||
| 150 | - | </dl> | 150 | + | <dt>latest tag</dt> |
| 151 | - | </section> | 151 | + | <dd class="latest-tag"> |
| 152 | - | <section aria-labelledby="r-tag"> | 152 | + | <a class="tag-name" href="/demo/tree/v0.2.0" title="add main.go"> |
| 153 | - | <h2 id="r-tag">Tags <span class="count">2</span> | |||
| 154 | - | <a href="/demo/refs">View all</a> | |||
| 155 | - | </h2> | |||
| 156 | - | <div class="latest-tag"> | |||
| 157 | - | <a class="tag-name" href="/demo/tree/v0.2.0"> | |||
| 158 | <span class="ico i-tag" aria-hidden="true"> | 153 | <span class="ico i-tag" aria-hidden="true"> | ||
| 159 | </span>v0.2.0</a> | 154 | </span>v0.2.0</a> | ||
| 160 | - | <span class="pill">latest</span> | |||
| 161 | <time class="dim" datetime="STAMP" title="STAMP">AGO</time> | 155 | <time class="dim" datetime="STAMP" title="STAMP">AGO</time> | ||
| 162 | - | <p class="tag-sub dim">add main.go</p> | 156 | + | <a class="all-tags" href="/demo/refs">2 tags</a> |
| 163 | - | </div> | 157 | + | </dd> |
| 158 | + | </dl> | |||
| 164 | </section> | 159 | </section> | ||
| 165 | <section aria-labelledby="r-recent"> | 160 | <section aria-labelledby="r-recent"> | ||
| 166 | <h2 id="r-recent">Recent commits <a href="/demo/commits/main">View all</a> | 161 | <h2 id="r-recent">Recent commits <a href="/demo/commits/main">View all</a> | ||
M internal/app/web_test.go +8 -6
| @@ -264,14 +264,16 @@ func TestWebContentSecurity(t *testing.T) { | |||
| 264 | 264 | } | |
| 265 | 265 | } | |
| 266 | 266 | ||
| 267 | - | // The summary rail names the newest tag; with more tags than it dates, it | |
| 268 | - | // gives their count instead of an empty block. | |
| 267 | + | // About, in the summary rail, names the newest tag; with more tags than it | |
| 268 | + | // dates, it gives their count only. | |
| 269 | 269 | func TestWebSummaryLatestTag(t *testing.T) { | |
| 270 | 270 | h := newHarness(t, harnessOpts{}) | |
| 271 | 271 | h.webRepo("demo") | |
| 272 | 272 | _, _, body := h.get("/demo") | |
| 273 | - | assert.Contains(t, body, `<a class="tag-name" href="/demo/tree/v0.2.0">`) | |
| 274 | - | assert.Contains(t, body, `<p class="tag-sub dim">add main.go</p>`) | |
| 273 | + | assert.Contains(t, body, `<dt>latest tag</dt>`) | |
| 274 | + | assert.Contains(t, body, `<a class="tag-name" href="/demo/tree/v0.2.0" title="add main.go">`) | |
| 275 | + | assert.Contains(t, body, `<a class="all-tags" href="/demo/refs">2 tags</a>`) | |
| 276 | + | assert.NotContains(t, body, `id="r-tag"`, "no Tags block of its own: the tag is a row of About") | |
| 275 | 277 | ||
| 276 | 278 | h.seed("many", domain.VisibilityPublic, "a.txt") | |
| 277 | 279 | wt := t.TempDir() | |
| @@ -281,6 +283,6 @@ func TestWebSummaryLatestTag(t *testing.T) { | |||
| 281 | 283 | } | |
| 282 | 284 | h.mustGit(wt, "push", "-q", "--tags", "origin") | |
| 283 | 285 | _, _, body = h.get("/many") | |
| 284 | - | assert.NotContains(t, body, `class="latest-tag"`) | |
| 285 | - | assert.Contains(t, body, `<p class="dim">21 tags</p>`) | |
| 286 | + | assert.NotContains(t, body, `class="tag-name"`) | |
| 287 | + | assert.Contains(t, body, `<a class="all-tags" href="/many/refs">21 tags</a>`) | |
| 286 | 288 | } | |
| @@ -264,14 +264,16 @@ func TestWebContentSecurity(t *testing.T) { | |||||
| 264 | } | 264 | } | ||
| 265 | } | 265 | } | ||
| 266 | 266 | ||||
| 267 | - | // The summary rail names the newest tag; with more tags than it dates, it | 267 | + | // About, in the summary rail, names the newest tag; with more tags than it |
| 268 | - | // gives their count instead of an empty block. | 268 | + | // dates, it gives their count only. |
| 269 | func TestWebSummaryLatestTag(t *testing.T) { | 269 | func TestWebSummaryLatestTag(t *testing.T) { | ||
| 270 | h := newHarness(t, harnessOpts{}) | 270 | h := newHarness(t, harnessOpts{}) | ||
| 271 | h.webRepo("demo") | 271 | h.webRepo("demo") | ||
| 272 | _, _, body := h.get("/demo") | 272 | _, _, body := h.get("/demo") | ||
| 273 | - | assert.Contains(t, body, `<a class="tag-name" href="/demo/tree/v0.2.0">`) | 273 | + | assert.Contains(t, body, `<dt>latest tag</dt>`) |
| 274 | - | assert.Contains(t, body, `<p class="tag-sub dim">add main.go</p>`) | 274 | + | assert.Contains(t, body, `<a class="tag-name" href="/demo/tree/v0.2.0" title="add main.go">`) |
| 275 | + | assert.Contains(t, body, `<a class="all-tags" href="/demo/refs">2 tags</a>`) | |||
| 276 | + | assert.NotContains(t, body, `id="r-tag"`, "no Tags block of its own: the tag is a row of About") | |||
| 275 | 277 | ||||
| 276 | h.seed("many", domain.VisibilityPublic, "a.txt") | 278 | h.seed("many", domain.VisibilityPublic, "a.txt") | ||
| 277 | wt := t.TempDir() | 279 | wt := t.TempDir() | ||
| @@ -281,6 +283,6 @@ func TestWebSummaryLatestTag(t *testing.T) { | |||||
| 281 | } | 283 | } | ||
| 282 | h.mustGit(wt, "push", "-q", "--tags", "origin") | 284 | h.mustGit(wt, "push", "-q", "--tags", "origin") | ||
| 283 | _, _, body = h.get("/many") | 285 | _, _, body = h.get("/many") | ||
| 284 | - | assert.NotContains(t, body, `class="latest-tag"`) | 286 | + | assert.NotContains(t, body, `class="tag-name"`) |
| 285 | - | assert.Contains(t, body, `<p class="dim">21 tags</p>`) | 287 | + | assert.Contains(t, body, `<a class="all-tags" href="/many/refs">21 tags</a>`) |
| 286 | } | 288 | } | ||