⋯ 287 hidden lines@@ -458,315 +458,357 @@ func Header(l Layout) templ.Component { 458 if templ_7745c5c3_Err != nil { 458 if templ_7745c5c3_Err != nil { 459 return templ_7745c5c3_Err 459 return templ_7745c5c3_Err 460 } 460 } 461 + if l.Inbox != nil { 462 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<a class=\"btn inbox-btn\" href=\"" ) 463 + if templ_7745c5c3_Err != nil { 464 + return templ_7745c5c3_Err 465 + } 466 + var templ_7745c5c3_Var26 templ.SafeURL 467 + templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(l.Inbox.Href)) 468 + if templ_7745c5c3_Err != nil { 469 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 86, Col: 39} 470 + } 471 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26)) 472 + if templ_7745c5c3_Err != nil { 473 + return templ_7745c5c3_Err 474 + } 475 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "\" title=\"inbox\"><span class=\"ico i-mailbox\" aria-hidden=\"true\"></span> Inbox " ) 476 + if templ_7745c5c3_Err != nil { 477 + return templ_7745c5c3_Err 478 + } 479 + if l.Inbox.Count >= 0 { 480 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<span class=\"count\">" ) 481 + if templ_7745c5c3_Err != nil { 482 + return templ_7745c5c3_Err 483 + } 484 + var templ_7745c5c3_Var27 string 485 + templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(l.Inbox.Count)) 486 + if templ_7745c5c3_Err != nil { 487 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 92, Col: 47} 488 + } 489 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27)) 490 + if templ_7745c5c3_Err != nil { 491 + return templ_7745c5c3_Err 492 + } 493 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "</span>" ) 494 + if templ_7745c5c3_Err != nil { 495 + return templ_7745c5c3_Err 496 + } 497 + } 498 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</a> " ) 499 + if templ_7745c5c3_Err != nil { 500 + return templ_7745c5c3_Err 501 + } 502 + } 461 if len(l.Crumbs) > 0 { 503 if len(l.Crumbs) > 0 { 462 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<nav class=\"crumbs\" aria-label=\"Path\"><ol>" ) 504 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "<nav class=\"crumbs\" aria-label=\"Path\"><ol>" ) 463 if templ_7745c5c3_Err != nil { 505 if templ_7745c5c3_Err != nil { 464 return templ_7745c5c3_Err 506 return templ_7745c5c3_Err 465 } 507 } 466 for _, c := range l.Crumbs { 508 for _, c := range l.Crumbs { 467 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<li>" ) 509 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "<li>" ) 468 if templ_7745c5c3_Err != nil { 510 if templ_7745c5c3_Err != nil { 469 return templ_7745c5c3_Err 511 return templ_7745c5c3_Err 470 } 512 } 471 if c.Href != "" { 513 if c.Href != "" { 472 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<a href=\"" ) 514 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<a href=\"" ) 473 if templ_7745c5c3_Err != nil { 515 if templ_7745c5c3_Err != nil { 474 return templ_7745c5c3_Err 516 return templ_7745c5c3_Err 475 } 517 } 476 - var templ_7745c5c3_Var26 templ.SafeURL 518 + var templ_7745c5c3_Var28 templ.SafeURL 477 - templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Href)) 519 + templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Href)) 478 if templ_7745c5c3_Err != nil { 520 if templ_7745c5c3_Err != nil { 479 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 90, Col: 38} 521 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 103, Col: 38} 480 } 522 } 481 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26)) 523 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28)) 482 if templ_7745c5c3_Err != nil { 524 if templ_7745c5c3_Err != nil { 483 return templ_7745c5c3_Err 525 return templ_7745c5c3_Err 484 } 526 } 485 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "\"" ) 527 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "\"" ) 486 if templ_7745c5c3_Err != nil { 528 if templ_7745c5c3_Err != nil { 487 return templ_7745c5c3_Err 529 return templ_7745c5c3_Err 488 } 530 } 489 if c.Current { 531 if c.Current { 490 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, " aria-current=\"page\"" ) 532 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, " aria-current=\"page\"" ) 491 if templ_7745c5c3_Err != nil { 533 if templ_7745c5c3_Err != nil { 492 return templ_7745c5c3_Err 534 return templ_7745c5c3_Err 493 } 535 } 494 } 536 } 495 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, ">" ) 537 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, ">" ) 496 if templ_7745c5c3_Err != nil { 538 if templ_7745c5c3_Err != nil { 497 return templ_7745c5c3_Err 539 return templ_7745c5c3_Err 498 } 540 } 499 - var templ_7745c5c3_Var27 string 541 + var templ_7745c5c3_Var29 string 500 - templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(c.Label) 542 + templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(c.Label) 501 if templ_7745c5c3_Err != nil { 543 if templ_7745c5c3_Err != nil { 502 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 94, Col: 19} 544 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 107, Col: 19} 503 } 545 } 504 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27)) 546 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) 505 if templ_7745c5c3_Err != nil { 547 if templ_7745c5c3_Err != nil { 506 return templ_7745c5c3_Err 548 return templ_7745c5c3_Err 507 } 549 } 508 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</a>" ) 550 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</a>" ) 509 if templ_7745c5c3_Err != nil { 551 if templ_7745c5c3_Err != nil { 510 return templ_7745c5c3_Err 552 return templ_7745c5c3_Err 511 } 553 } 512 } else { 554 } else { 513 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<span" ) 555 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "<span" ) 514 if templ_7745c5c3_Err != nil { 556 if templ_7745c5c3_Err != nil { 515 return templ_7745c5c3_Err 557 return templ_7745c5c3_Err 516 } 558 } 517 if c.Current { 559 if c.Current { 518 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, " aria-current=\"page\"" ) 560 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, " aria-current=\"page\"" ) 519 if templ_7745c5c3_Err != nil { 561 if templ_7745c5c3_Err != nil { 520 return templ_7745c5c3_Err 562 return templ_7745c5c3_Err 521 } 563 } 522 } 564 } 523 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, ">" ) 565 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, ">" ) 524 if templ_7745c5c3_Err != nil { 566 if templ_7745c5c3_Err != nil { 525 return templ_7745c5c3_Err 567 return templ_7745c5c3_Err 526 } 568 } 527 - var templ_7745c5c3_Var28 string 569 + var templ_7745c5c3_Var30 string 528 - templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.JoinStringErrs(c.Label) 570 + templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(c.Label) 529 if templ_7745c5c3_Err != nil { 571 if templ_7745c5c3_Err != nil { 530 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 100, Col: 19} 572 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 113, Col: 19} 531 } 573 } 532 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var28)) 574 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) 533 if templ_7745c5c3_Err != nil { 575 if templ_7745c5c3_Err != nil { 534 return templ_7745c5c3_Err 576 return templ_7745c5c3_Err 535 } 577 } 536 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "</span>" ) 578 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "</span>" ) 537 if templ_7745c5c3_Err != nil { 579 if templ_7745c5c3_Err != nil { 538 return templ_7745c5c3_Err 580 return templ_7745c5c3_Err 539 } 581 } 540 } 582 } 541 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "</li>" ) 583 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "</li>" ) 542 if templ_7745c5c3_Err != nil { 584 if templ_7745c5c3_Err != nil { 543 return templ_7745c5c3_Err 585 return templ_7745c5c3_Err 544 } 586 } 545 } 587 } 546 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</ol></nav>" ) 588 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "</ol></nav>" ) 547 if templ_7745c5c3_Err != nil { 589 if templ_7745c5c3_Err != nil { 548 return templ_7745c5c3_Err 590 return templ_7745c5c3_Err 549 } 591 } 550 } 592 } 551 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "<div class=\"hdr-acts\">" ) 593 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "<div class=\"hdr-acts\">" ) 552 if templ_7745c5c3_Err != nil { 594 if templ_7745c5c3_Err != nil { 553 return templ_7745c5c3_Err 595 return templ_7745c5c3_Err 554 } 596 } 555 if l.Ref != "" { 597 if l.Ref != "" { 556 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<a class=\"btn ref\" href=\"" ) 598 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<a class=\"btn ref\" href=\"" ) 557 if templ_7745c5c3_Err != nil { 599 if templ_7745c5c3_Err != nil { 558 return templ_7745c5c3_Err 600 return templ_7745c5c3_Err 559 } 601 } 560 - var templ_7745c5c3_Var29 templ.SafeURL 602 + var templ_7745c5c3_Var31 templ.SafeURL 561 - templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(repoHref(l.Repo, "refs" ))) 603 + templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(repoHref(l.Repo, "refs" ))) 562 if templ_7745c5c3_Err != nil { 604 if templ_7745c5c3_Err != nil { 563 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 111, Col: 52} 605 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 124, Col: 52} 564 } 606 } 565 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) 607 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) 566 if templ_7745c5c3_Err != nil { 608 if templ_7745c5c3_Err != nil { 567 return templ_7745c5c3_Err 609 return templ_7745c5c3_Err 568 } 610 } 569 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\" data-fire=\"refs\" aria-keyshortcuts=\"b\" title=\"switch branch or tag (b)\"><span class=\"ico i-branch\" aria-hidden=\"true\"></span> <span class=\"ref-name\">" ) 611 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "\" data-fire=\"refs\" aria-keyshortcuts=\"b\" title=\"switch branch or tag (b)\"><span class=\"ico i-branch\" aria-hidden=\"true\"></span> <span class=\"ref-name\">" ) 570 if templ_7745c5c3_Err != nil { 612 if templ_7745c5c3_Err != nil { 571 return templ_7745c5c3_Err 613 return templ_7745c5c3_Err 572 } 614 } 573 - var templ_7745c5c3_Var30 string 615 + var templ_7745c5c3_Var32 string 574 - templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(l.Ref) 616 + templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(l.Ref) 575 if templ_7745c5c3_Err != nil { 617 if templ_7745c5c3_Err != nil { 576 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 117, Col: 36} 618 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 130, Col: 36} 577 } 619 } 578 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) 620 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) 579 if templ_7745c5c3_Err != nil { 621 if templ_7745c5c3_Err != nil { 580 return templ_7745c5c3_Err 622 return templ_7745c5c3_Err 581 } 623 } 582 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "</span> <span class=\"sha\">" ) 624 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</span> <span class=\"sha\">" ) 583 if templ_7745c5c3_Err != nil { 625 if templ_7745c5c3_Err != nil { 584 return templ_7745c5c3_Err 626 return templ_7745c5c3_Err 585 } 627 } 586 - var templ_7745c5c3_Var31 string 628 + var templ_7745c5c3_Var33 string 587 - templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(l.Short) 629 + templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(l.Short) 588 if templ_7745c5c3_Err != nil { 630 if templ_7745c5c3_Err != nil { 589 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 118, Col: 33} 631 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 131, Col: 33} 590 } 632 } 591 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) 633 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33)) 592 if templ_7745c5c3_Err != nil { 634 if templ_7745c5c3_Err != nil { 593 return templ_7745c5c3_Err 635 return templ_7745c5c3_Err 594 } 636 } 595 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "</span></a> " ) 637 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "</span></a> " ) 596 if templ_7745c5c3_Err != nil { 638 if templ_7745c5c3_Err != nil { 597 return templ_7745c5c3_Err 639 return templ_7745c5c3_Err 598 } 640 } 599 } 641 } 600 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "<button type=\"button\" class=\"btn search\" data-js aria-haspopup=\"dialog\" aria-controls=\"panel-cmd\" aria-keyshortcuts=\"Control+K :\" title=\"go to a section, ref, file or repo (ctrl k or :)\" data-fire=\"cmd\"><span class=\"ico i-search\" aria-hidden=\"true\"></span> <span class=\"search-label\">Go to…</span> <kbd aria-hidden=\"true\">ctrl k</kbd></button> " ) 642 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "<button type=\"button\" class=\"btn search\" data-js aria-haspopup=\"dialog\" aria-controls=\"panel-cmd\" aria-keyshortcuts=\"Control+K :\" title=\"go to a section, ref, file or repo (ctrl k or :)\" data-fire=\"cmd\"><span class=\"ico i-search\" aria-hidden=\"true\"></span> <span class=\"search-label\">Go to…</span> <kbd aria-hidden=\"true\">ctrl k</kbd></button> " ) 601 if templ_7745c5c3_Err != nil { 643 if templ_7745c5c3_Err != nil { 602 return templ_7745c5c3_Err 644 return templ_7745c5c3_Err 603 } 645 } 604 if SignedIn(ctx) { 646 if SignedIn(ctx) { 605 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<form class=\"owner\" method=\"post\" action=\"/-/logout\"><span class=\"owner-badge\" title=\"signed in as the owner\"><span class=\"ico i-user\" aria-hidden=\"true\"></span>" ) 647 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "<form class=\"owner\" method=\"post\" action=\"/-/logout\"><span class=\"owner-badge\" title=\"signed in as the owner\"><span class=\"ico i-user\" aria-hidden=\"true\"></span>" ) 606 if templ_7745c5c3_Err != nil { 648 if templ_7745c5c3_Err != nil { 607 return templ_7745c5c3_Err 649 return templ_7745c5c3_Err 608 } 650 } 609 - var templ_7745c5c3_Var32 string 651 + var templ_7745c5c3_Var34 string 610 - templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(l.Owner) 652 + templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(l.Owner) 611 if templ_7745c5c3_Err != nil { 653 if templ_7745c5c3_Err != nil { 612 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 137, Col: 123} 654 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 150, Col: 123} 613 } 655 } 614 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) 656 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34)) 615 if templ_7745c5c3_Err != nil { 657 if templ_7745c5c3_Err != nil { 616 return templ_7745c5c3_Err 658 return templ_7745c5c3_Err 617 } 659 } 618 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</span> " ) 660 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "</span> " ) 619 if templ_7745c5c3_Err != nil { 661 if templ_7745c5c3_Err != nil { 620 return templ_7745c5c3_Err 662 return templ_7745c5c3_Err 621 } 663 } 622 if l.Passkeys { 664 if l.Passkeys { 623 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "<a class=\"btn icon\" href=\"/-/passkeys\" aria-label=\"Passkeys\" title=\"passkeys: add or remove the passkeys that sign you in\"><span class=\"ico i-key\" aria-hidden=\"true\"></span></a> " ) 665 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "<a class=\"btn icon\" href=\"/-/passkeys\" aria-label=\"Passkeys\" title=\"passkeys: add or remove the passkeys that sign you in\"><span class=\"ico i-key\" aria-hidden=\"true\"></span></a> " ) 624 if templ_7745c5c3_Err != nil { 666 if templ_7745c5c3_Err != nil { 625 return templ_7745c5c3_Err 667 return templ_7745c5c3_Err 626 } 668 } 627 } 669 } 628 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "<button type=\"submit\" class=\"btn icon\" aria-label=\"Sign out\" title=\"sign out of this browser\"><span class=\"ico i-log-out\" aria-hidden=\"true\"></span></button></form>" ) 670 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "<button type=\"submit\" class=\"btn icon\" aria-label=\"Sign out\" title=\"sign out of this browser\"><span class=\"ico i-log-out\" aria-hidden=\"true\"></span></button></form>" ) 629 if templ_7745c5c3_Err != nil { 671 if templ_7745c5c3_Err != nil { 630 return templ_7745c5c3_Err 672 return templ_7745c5c3_Err 631 } 673 } 632 } else if l.Passkeys { 674 } else if l.Passkeys { 633 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "<a class=\"btn icon\" href=\"/-/login\" aria-label=\"Sign in\" title=\"sign in with a passkey\"><span class=\"ico i-log-in\" aria-hidden=\"true\"></span></a>" ) 675 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "<a class=\"btn icon\" href=\"/-/login\" aria-label=\"Sign in\" title=\"sign in with a passkey\"><span class=\"ico i-log-in\" aria-hidden=\"true\"></span></a>" ) 634 if templ_7745c5c3_Err != nil { 676 if templ_7745c5c3_Err != nil { 635 return templ_7745c5c3_Err 677 return templ_7745c5c3_Err 636 } 678 } 637 } 679 } 638 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "</div></div>" ) 680 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "</div></div>" ) 639 if templ_7745c5c3_Err != nil { 681 if templ_7745c5c3_Err != nil { 640 return templ_7745c5c3_Err 682 return templ_7745c5c3_Err 641 } 683 } 642 if len(l.Sections) > 0 { 684 if len(l.Sections) > 0 { 643 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "<nav class=\"tabs\" aria-label=\"Sections\"><ul>" ) 685 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "<nav class=\"tabs\" aria-label=\"Sections\"><ul>" ) 644 if templ_7745c5c3_Err != nil { 686 if templ_7745c5c3_Err != nil { 645 return templ_7745c5c3_Err 687 return templ_7745c5c3_Err 646 } 688 } 647 for _, s := range l.Sections { 689 for _, s := range l.Sections { 648 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "<li><a href=\"" ) 690 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "<li><a href=\"" ) 649 if templ_7745c5c3_Err != nil { 691 if templ_7745c5c3_Err != nil { 650 return templ_7745c5c3_Err 692 return templ_7745c5c3_Err 651 } 693 } 652 - var templ_7745c5c3_Var33 templ.SafeURL 694 + var templ_7745c5c3_Var35 templ.SafeURL 653 - templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(s.Href)) 695 + templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(s.Href)) 654 if templ_7745c5c3_Err != nil { 696 if templ_7745c5c3_Err != nil { 655 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 154, Col: 36} 697 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 167, Col: 36} 656 } 698 } 657 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33)) 699 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35)) 658 if templ_7745c5c3_Err != nil { 700 if templ_7745c5c3_Err != nil { 659 return templ_7745c5c3_Err 701 return templ_7745c5c3_Err 660 } 702 } 661 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "\" data-key=\"" ) 703 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "\" data-key=\"" ) 662 if templ_7745c5c3_Err != nil { 704 if templ_7745c5c3_Err != nil { 663 return templ_7745c5c3_Err 705 return templ_7745c5c3_Err 664 } 706 } 665 - var templ_7745c5c3_Var34 string 707 + var templ_7745c5c3_Var36 string 666 - templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue(s.Key) 708 + templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.ResolveAttributeValue(s.Key) 667 if templ_7745c5c3_Err != nil { 709 if templ_7745c5c3_Err != nil { 668 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 155, Col: 24} 710 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 168, Col: 24} 669 } 711 } 670 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34) 712 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var36) 671 if templ_7745c5c3_Err != nil { 713 if templ_7745c5c3_Err != nil { 672 return templ_7745c5c3_Err 714 return templ_7745c5c3_Err 673 } 715 } 674 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "\" aria-keyshortcuts=\"" ) 716 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "\" aria-keyshortcuts=\"" ) 675 if templ_7745c5c3_Err != nil { 717 if templ_7745c5c3_Err != nil { 676 return templ_7745c5c3_Err 718 return templ_7745c5c3_Err 677 } 719 } 678 - var templ_7745c5c3_Var35 string 720 + var templ_7745c5c3_Var37 string 679 - templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.ResolveAttributeValue(s.Key) 721 + templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.ResolveAttributeValue(s.Key) 680 if templ_7745c5c3_Err != nil { 722 if templ_7745c5c3_Err != nil { 681 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 156, Col: 33} 723 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 169, Col: 33} 682 } 724 } 683 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var35) 725 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var37) 684 if templ_7745c5c3_Err != nil { 726 if templ_7745c5c3_Err != nil { 685 return templ_7745c5c3_Err 727 return templ_7745c5c3_Err 686 } 728 } 687 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\"" ) 729 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "\"" ) 688 if templ_7745c5c3_Err != nil { 730 if templ_7745c5c3_Err != nil { 689 return templ_7745c5c3_Err 731 return templ_7745c5c3_Err 690 } 732 } 691 if s.Current { 733 if s.Current { 692 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, " aria-current=\"page\"" ) 734 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, " aria-current=\"page\"" ) 693 if templ_7745c5c3_Err != nil { 735 if templ_7745c5c3_Err != nil { 694 return templ_7745c5c3_Err 736 return templ_7745c5c3_Err 695 } 737 } 696 } 738 } 697 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, ">" ) 739 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, ">" ) 698 if templ_7745c5c3_Err != nil { 740 if templ_7745c5c3_Err != nil { 699 return templ_7745c5c3_Err 741 return templ_7745c5c3_Err 700 } 742 } 701 - var templ_7745c5c3_Var36 string 743 + var templ_7745c5c3_Var38 string 702 - templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(s.Label) 744 + templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(s.Label) 703 if templ_7745c5c3_Err != nil { 745 if templ_7745c5c3_Err != nil { 704 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 161, Col: 17} 746 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 174, Col: 17} 705 } 747 } 706 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) 748 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38)) 707 if templ_7745c5c3_Err != nil { 749 if templ_7745c5c3_Err != nil { 708 return templ_7745c5c3_Err 750 return templ_7745c5c3_Err 709 } 751 } 710 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, " " ) 752 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, " " ) 711 if templ_7745c5c3_Err != nil { 753 if templ_7745c5c3_Err != nil { 712 return templ_7745c5c3_Err 754 return templ_7745c5c3_Err 713 } 755 } 714 if s.Count != "" { 756 if s.Count != "" { 715 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, "<span class=\"count\">" ) 757 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "<span class=\"count\">" ) 716 if templ_7745c5c3_Err != nil { 758 if templ_7745c5c3_Err != nil { 717 return templ_7745c5c3_Err 759 return templ_7745c5c3_Err 718 } 760 } 719 - var templ_7745c5c3_Var37 string 761 + var templ_7745c5c3_Var39 string 720 - templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.JoinStringErrs(s.Count) 762 + templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(s.Count) 721 if templ_7745c5c3_Err != nil { 763 if templ_7745c5c3_Err != nil { 722 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 163, Col: 38} 764 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 176, Col: 38} 723 } 765 } 724 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var37)) 766 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) 725 if templ_7745c5c3_Err != nil { 767 if templ_7745c5c3_Err != nil { 726 return templ_7745c5c3_Err 768 return templ_7745c5c3_Err 727 } 769 } 728 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "<span class=\"sr\">" ) 770 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "<span class=\"sr\">" ) 729 if templ_7745c5c3_Err != nil { 771 if templ_7745c5c3_Err != nil { 730 return templ_7745c5c3_Err 772 return templ_7745c5c3_Err 731 } 773 } 732 - var templ_7745c5c3_Var38 string 774 + var templ_7745c5c3_Var40 string 733 - templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(" open" ) 775 + templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(" open" ) 734 if templ_7745c5c3_Err != nil { 776 if templ_7745c5c3_Err != nil { 735 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 163, Col: 66} 777 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 176, Col: 66} 736 } 778 } 737 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38)) 779 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) 738 if templ_7745c5c3_Err != nil { 780 if templ_7745c5c3_Err != nil { 739 return templ_7745c5c3_Err 781 return templ_7745c5c3_Err 740 } 782 } 741 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "</span></span> " ) 783 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "</span></span> " ) 742 if templ_7745c5c3_Err != nil { 784 if templ_7745c5c3_Err != nil { 743 return templ_7745c5c3_Err 785 return templ_7745c5c3_Err 744 } 786 } 745 } 787 } 746 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "<kbd aria-hidden=\"true\">" ) 788 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "<kbd aria-hidden=\"true\">" ) 747 if templ_7745c5c3_Err != nil { 789 if templ_7745c5c3_Err != nil { 748 return templ_7745c5c3_Err 790 return templ_7745c5c3_Err 749 } 791 } 750 - var templ_7745c5c3_Var39 string 792 + var templ_7745c5c3_Var41 string 751 - templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(s.Key) 793 + templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(s.Key) 752 if templ_7745c5c3_Err != nil { 794 if templ_7745c5c3_Err != nil { 753 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 165, Col: 39} 795 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/shell.templ` , Line: 178, Col: 39} 754 } 796 } 755 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) 797 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) 756 if templ_7745c5c3_Err != nil { 798 if templ_7745c5c3_Err != nil { 757 return templ_7745c5c3_Err 799 return templ_7745c5c3_Err 758 } 800 } 759 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "</kbd></a></li>" ) 801 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "</kbd></a></li>" ) 760 if templ_7745c5c3_Err != nil { 802 if templ_7745c5c3_Err != nil { 761 return templ_7745c5c3_Err 803 return templ_7745c5c3_Err 762 } 804 } 763 } 805 } 764 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "</ul></nav>" ) 806 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, "</ul></nav>" ) 765 if templ_7745c5c3_Err != nil { 807 if templ_7745c5c3_Err != nil { 766 return templ_7745c5c3_Err 808 return templ_7745c5c3_Err 767 } 809 } 768 } 810 } 769 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "</header>" ) 811 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "</header>" ) 770 if templ_7745c5c3_Err != nil { 812 if templ_7745c5c3_Err != nil { 771 return templ_7745c5c3_Err 813 return templ_7745c5c3_Err 772 } 814 }