detached 502935e

refactor(web): drop the Wide button of the diff bar, the w shortcut covers it

commit
502935e68076ff7827c55e701bded5ded639fed4
author
brice · · 2026-10-19 15:17 UTC
committer
brice · · 2026-10-19 15:17 UTC
parent
a1f8e85
signature
GPG VerifiedCD88F9E564E0102646FB6077A1A07C7C7C3E349D · arch-gpg Verified for the committer email
5 files · +467 -522
M internal/adapters/web/diff.templ +0 -9
@@ -73,7 +73,6 @@ templ Commit(l Layout, p CommitPage) {
7373 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>
7474 <span class="grow"></span>
7575 @diffViewMenu(p.DiffView)
76- @wideButton()
7776 </div>
7877 if p.Invisible {
7978 <p class="notice">
@@ -131,14 +130,6 @@ templ diffViewMenu(p DiffView) {
131130 </details>
132131 }
133132
134-// wideButton turns the wide mode (w, on every page) on or off: the rail goes
135-// to the right edge and the code takes the rest. ermite.js keeps the choice.
136-templ wideButton() {
137- <button type="button" class="btn" data-js data-fire="wide" data-wide-toggle aria-pressed="false" aria-keyshortcuts="w" title="use the whole width of the screen">
138- Wide<kbd aria-hidden="true">w</kbd>
139- </button>
140-}
141-
142133 // viewLink is a button of the diff tools. It is a link, so that the split
143134 // layout works without JavaScript; with it, and when both layouts are in the
144135 // page, a click only flips the layout.
@@ -73,7 +73,6 @@ templ Commit(l Layout, p CommitPage) {
73 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>73 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>
74 <span class="grow"></span>74 <span class="grow"></span>
75 @diffViewMenu(p.DiffView)75 @diffViewMenu(p.DiffView)
76- @wideButton()
77 </div>76 </div>
78 if p.Invisible {77 if p.Invisible {
79 <p class="notice">78 <p class="notice">
@@ -131,14 +130,6 @@ templ diffViewMenu(p DiffView) {
131 </details>130 </details>
132 }131 }
133 132
134-// wideButton turns the wide mode (w, on every page) on or off: the rail goes
135-// to the right edge and the code takes the rest. ermite.js keeps the choice.
136-templ wideButton() {
137- <button type="button" class="btn" data-js data-fire="wide" data-wide-toggle aria-pressed="false" aria-keyshortcuts="w" title="use the whole width of the screen">
138- Wide<kbd aria-hidden="true">w</kbd>
139- </button>
140-}
141-
142 // viewLink is a button of the diff tools. It is a link, so that the split133 // viewLink is a button of the diff tools. It is a link, so that the split
143 // layout works without JavaScript; with it, and when both layouts are in the134 // layout works without JavaScript; with it, and when both layouts are in the
144 // page, a click only flips the layout.135 // page, a click only flips the layout.
M internal/adapters/web/diff_templ.go +423 -458 generated file: collapsed
M internal/adapters/web/mr.templ +0 -2
@@ -434,7 +434,6 @@ templ mrBar(p MRPage) {
434434 <div class="diff-tools mr-bar" role="group" aria-label="Diff view and merge">
435435 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>
436436 @diffViewMenu(p.DiffView)
437- @wideButton()
438437 <span class="grow"></span>
439438 @MRChecksSum(p.ChecksSum)
440439 if p.Box != nil {
@@ -564,7 +563,6 @@ templ Compare(l Layout, p ComparePage) {
564563 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>
565564 <span class="grow"></span>
566565 @diffViewMenu(p.DiffView)
567- @wideButton()
568566 </div>
569567 if p.Invisible {
570568 <p class="notice">
@@ -434,7 +434,6 @@ templ mrBar(p MRPage) {
434 <div class="diff-tools mr-bar" role="group" aria-label="Diff view and merge">434 <div class="diff-tools mr-bar" role="group" aria-label="Diff view and merge">
435 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>435 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>
436 @diffViewMenu(p.DiffView)436 @diffViewMenu(p.DiffView)
437- @wideButton()
438 <span class="grow"></span>437 <span class="grow"></span>
439 @MRChecksSum(p.ChecksSum)438 @MRChecksSum(p.ChecksSum)
440 if p.Box != nil {439 if p.Box != nil {
@@ -564,7 +563,6 @@ templ Compare(l Layout, p ComparePage) {
564 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>563 <span class="dim">{ plural(p.NFiles, "file", "files") } · <span class="plus">+{ itoa(p.Adds) }</span> <span class="minus">-{ itoa(p.Dels) }</span></span>
565 <span class="grow"></span>564 <span class="grow"></span>
566 @diffViewMenu(p.DiffView)565 @diffViewMenu(p.DiffView)
567- @wideButton()
568 </div>566 </div>
569 if p.Invisible {567 if p.Invisible {
570 <p class="notice">568 <p class="notice">
M internal/adapters/web/mr_templ.go +42 -50
@@ -2330,10 +2330,6 @@ func mrBar(p MRPage) templ.Component {
23302330 if templ_7745c5c3_Err != nil {
23312331 return templ_7745c5c3_Err
23322332 }
2333- templ_7745c5c3_Err = wideButton().Render(ctx, templ_7745c5c3_Buffer)
2334- if templ_7745c5c3_Err != nil {
2335- return templ_7745c5c3_Err
2336- }
23372333 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "<span class=\"grow\"></span>")
23382334 if templ_7745c5c3_Err != nil {
23392335 return templ_7745c5c3_Err
@@ -2416,7 +2412,7 @@ func mergeMenu(p MRPage) templ.Component {
24162412 var templ_7745c5c3_Var115 string
24172413 templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(p.HeadShort)
24182414 if templ_7745c5c3_Err != nil {
2419- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 467, Col: 19}
2415+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 466, Col: 19}
24202416 }
24212417 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115))
24222418 if templ_7745c5c3_Err != nil {
@@ -2430,7 +2426,7 @@ func mergeMenu(p MRPage) templ.Component {
24302426 var templ_7745c5c3_Var116 string
24312427 templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
24322428 if templ_7745c5c3_Err != nil {
2433- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 471, Col: 18}
2429+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 470, Col: 18}
24342430 }
24352431 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116))
24362432 if templ_7745c5c3_Err != nil {
@@ -2448,7 +2444,7 @@ func mergeMenu(p MRPage) templ.Component {
24482444 var templ_7745c5c3_Var117 templ.SafeURL
24492445 templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction))
24502446 if templ_7745c5c3_Err != nil {
2451- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 475, Col: 80}
2447+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 474, Col: 80}
24522448 }
24532449 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117))
24542450 if templ_7745c5c3_Err != nil {
@@ -2466,7 +2462,7 @@ func mergeMenu(p MRPage) templ.Component {
24662462 var templ_7745c5c3_Var118 templ.SafeURL
24672463 templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction))
24682464 if templ_7745c5c3_Err != nil {
2469- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 479, Col: 80}
2465+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 478, Col: 80}
24702466 }
24712467 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var118))
24722468 if templ_7745c5c3_Err != nil {
@@ -2479,7 +2475,7 @@ func mergeMenu(p MRPage) templ.Component {
24792475 var templ_7745c5c3_Var119 string
24802476 templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head)
24812477 if templ_7745c5c3_Err != nil {
2482- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 480, Col: 59}
2478+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 479, Col: 59}
24832479 }
24842480 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var119)
24852481 if templ_7745c5c3_Err != nil {
@@ -2497,7 +2493,7 @@ func mergeMenu(p MRPage) templ.Component {
24972493 var templ_7745c5c3_Var120 string
24982494 templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value)
24992495 if templ_7745c5c3_Err != nil {
2500- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 485, Col: 55}
2496+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 484, Col: 55}
25012497 }
25022498 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var120)
25032499 if templ_7745c5c3_Err != nil {
@@ -2520,7 +2516,7 @@ func mergeMenu(p MRPage) templ.Component {
25202516 var templ_7745c5c3_Var121 string
25212517 templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label)
25222518 if templ_7745c5c3_Err != nil {
2523- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 486, Col: 17}
2519+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 485, Col: 17}
25242520 }
25252521 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121))
25262522 if templ_7745c5c3_Err != nil {
@@ -2538,7 +2534,7 @@ func mergeMenu(p MRPage) templ.Component {
25382534 var templ_7745c5c3_Var122 string
25392535 templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1))
25402536 if templ_7745c5c3_Err != nil {
2541- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 488, Col: 46}
2537+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 487, Col: 46}
25422538 }
25432539 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122))
25442540 if templ_7745c5c3_Err != nil {
@@ -2566,7 +2562,7 @@ func mergeMenu(p MRPage) templ.Component {
25662562 var templ_7745c5c3_Var123 string
25672563 templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)
25682564 if templ_7745c5c3_Err != nil {
2569- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 494, Col: 102}
2565+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 493, Col: 102}
25702566 }
25712567 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123))
25722568 if templ_7745c5c3_Err != nil {
@@ -2584,7 +2580,7 @@ func mergeMenu(p MRPage) templ.Component {
25842580 var templ_7745c5c3_Var124 string
25852581 templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
25862582 if templ_7745c5c3_Err != nil {
2587- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 497, Col: 82}
2583+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 496, Col: 82}
25882584 }
25892585 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124))
25902586 if templ_7745c5c3_Err != nil {
@@ -2638,7 +2634,7 @@ func moreMenu(p MRPage) templ.Component {
26382634 var templ_7745c5c3_Var126 templ.SafeURL
26392635 templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction))
26402636 if templ_7745c5c3_Err != nil {
2641- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 512, Col: 64}
2637+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 511, Col: 64}
26422638 }
26432639 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126))
26442640 if templ_7745c5c3_Err != nil {
@@ -2651,7 +2647,7 @@ func moreMenu(p MRPage) templ.Component {
26512647 var templ_7745c5c3_Var127 string
26522648 templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head)
26532649 if templ_7745c5c3_Err != nil {
2654- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 513, Col: 59}
2650+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 512, Col: 59}
26552651 }
26562652 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var127)
26572653 if templ_7745c5c3_Err != nil {
@@ -2669,7 +2665,7 @@ func moreMenu(p MRPage) templ.Component {
26692665 var templ_7745c5c3_Var128 templ.SafeURL
26702666 templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction))
26712667 if templ_7745c5c3_Err != nil {
2672- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 517, Col: 64}
2668+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 516, Col: 64}
26732669 }
26742670 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128))
26752671 if templ_7745c5c3_Err != nil {
@@ -2741,7 +2737,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
27412737 var templ_7745c5c3_Var131 string
27422738 templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)
27432739 if templ_7745c5c3_Err != nil {
2744- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 533, Col: 17}
2740+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 17}
27452741 }
27462742 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131))
27472743 if templ_7745c5c3_Err != nil {
@@ -2754,7 +2750,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
27542750 var templ_7745c5c3_Var132 string
27552751 templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
27562752 if templ_7745c5c3_Err != nil {
2757- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 533, Col: 34}
2753+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 34}
27582754 }
27592755 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var132))
27602756 if templ_7745c5c3_Err != nil {
@@ -2767,7 +2763,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
27672763 var templ_7745c5c3_Var133 templ.SafeURL
27682764 templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref))
27692765 if templ_7745c5c3_Err != nil {
2770- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 536, Col: 45}
2766+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 45}
27712767 }
27722768 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var133))
27732769 if templ_7745c5c3_Err != nil {
@@ -2780,7 +2776,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
27802776 var templ_7745c5c3_Var134 string
27812777 templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)
27822778 if templ_7745c5c3_Err != nil {
2783- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 536, Col: 58}
2779+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 58}
27842780 }
27852781 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var134))
27862782 if templ_7745c5c3_Err != nil {
@@ -2793,7 +2789,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
27932789 var templ_7745c5c3_Var135 templ.SafeURL
27942790 templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref))
27952791 if templ_7745c5c3_Err != nil {
2796- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 538, Col: 45}
2792+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 537, Col: 45}
27972793 }
27982794 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135))
27992795 if templ_7745c5c3_Err != nil {
@@ -2806,7 +2802,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
28062802 var templ_7745c5c3_Var136 string
28072803 templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
28082804 if templ_7745c5c3_Err != nil {
2809- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 538, Col: 58}
2805+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 537, Col: 58}
28102806 }
28112807 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136))
28122808 if templ_7745c5c3_Err != nil {
@@ -2819,7 +2815,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
28192815 var templ_7745c5c3_Var137 string
28202816 templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText)
28212817 if templ_7745c5c3_Err != nil {
2822- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 540, Col: 21}
2818+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 539, Col: 21}
28232819 }
28242820 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137))
28252821 if templ_7745c5c3_Err != nil {
@@ -2837,7 +2833,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
28372833 var templ_7745c5c3_Var138 string
28382834 templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note)
28392835 if templ_7745c5c3_Err != nil {
2840- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 544, Col: 29}
2836+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 543, Col: 29}
28412837 }
28422838 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138))
28432839 if templ_7745c5c3_Err != nil {
@@ -2860,7 +2856,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
28602856 var templ_7745c5c3_Var139 templ.SafeURL
28612857 templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href))
28622858 if templ_7745c5c3_Err != nil {
2863- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 547, Col: 114}
2859+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 114}
28642860 }
28652861 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139))
28662862 if templ_7745c5c3_Err != nil {
@@ -2873,7 +2869,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
28732869 var templ_7745c5c3_Var140 string
28742870 templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label)
28752871 if templ_7745c5c3_Err != nil {
2876- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 547, Col: 135}
2872+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 135}
28772873 }
28782874 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var140))
28792875 if templ_7745c5c3_Err != nil {
@@ -2896,7 +2892,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
28962892 var templ_7745c5c3_Var141 templ.SafeURL
28972893 templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action))
28982894 if templ_7745c5c3_Err != nil {
2899- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 550, Col: 83}
2895+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 549, Col: 83}
29002896 }
29012897 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var141))
29022898 if templ_7745c5c3_Err != nil {
@@ -2909,7 +2905,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
29092905 var templ_7745c5c3_Var142 string
29102906 templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source)
29112907 if templ_7745c5c3_Err != nil {
2912- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 551, Col: 62}
2908+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 550, Col: 62}
29132909 }
29142910 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142)
29152911 if templ_7745c5c3_Err != nil {
@@ -2922,7 +2918,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
29222918 var templ_7745c5c3_Var143 string
29232919 templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target)
29242920 if templ_7745c5c3_Err != nil {
2925- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 552, Col: 62}
2921+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 551, Col: 62}
29262922 }
29272923 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var143)
29282924 if templ_7745c5c3_Err != nil {
@@ -2935,7 +2931,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
29352931 var templ_7745c5c3_Var144 string
29362932 templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title)
29372933 if templ_7745c5c3_Err != nil {
2938- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 554, Col: 97}
2934+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 553, Col: 97}
29392935 }
29402936 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144)
29412937 if templ_7745c5c3_Err != nil {
@@ -2958,7 +2954,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
29582954 var templ_7745c5c3_Var145 string
29592955 templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files"))
29602956 if templ_7745c5c3_Err != nil {
2961- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 57}
2957+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 57}
29622958 }
29632959 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145))
29642960 if templ_7745c5c3_Err != nil {
@@ -2971,7 +2967,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
29712967 var templ_7745c5c3_Var146 string
29722968 templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds))
29732969 if templ_7745c5c3_Err != nil {
2974- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 97}
2970+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 97}
29752971 }
29762972 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146))
29772973 if templ_7745c5c3_Err != nil {
@@ -2984,7 +2980,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
29842980 var templ_7745c5c3_Var147 string
29852981 templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels))
29862982 if templ_7745c5c3_Err != nil {
2987- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 142}
2983+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 142}
29882984 }
29892985 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var147))
29902986 if templ_7745c5c3_Err != nil {
@@ -2998,10 +2994,6 @@ func Compare(l Layout, p ComparePage) templ.Component {
29982994 if templ_7745c5c3_Err != nil {
29992995 return templ_7745c5c3_Err
30002996 }
3001- templ_7745c5c3_Err = wideButton().Render(ctx, templ_7745c5c3_Buffer)
3002- if templ_7745c5c3_Err != nil {
3003- return templ_7745c5c3_Err
3004- }
30052997 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "</div>")
30062998 if templ_7745c5c3_Err != nil {
30072999 return templ_7745c5c3_Err
@@ -3024,7 +3016,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
30243016 var templ_7745c5c3_Var148 string
30253017 templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View)
30263018 if templ_7745c5c3_Err != nil {
3027- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 578, Col: 23}
3019+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 576, Col: 23}
30283020 }
30293021 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var148)
30303022 if templ_7745c5c3_Err != nil {
@@ -3042,7 +3034,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
30423034 var templ_7745c5c3_Var149 string
30433035 templ_7745c5c3_Var149, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View)
30443036 if templ_7745c5c3_Err != nil {
3045- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 580, Col: 23}
3037+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 578, Col: 23}
30463038 }
30473039 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var149)
30483040 if templ_7745c5c3_Err != nil {
@@ -3112,7 +3104,7 @@ func compareRail(p ComparePage) templ.Component {
31123104 var templ_7745c5c3_Var151 string
31133105 templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead)))
31143106 if templ_7745c5c3_Err != nil {
3115- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 596, Col: 67}
3107+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 594, Col: 67}
31163108 }
31173109 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151))
31183110 if templ_7745c5c3_Err != nil {
@@ -3130,7 +3122,7 @@ func compareRail(p ComparePage) templ.Component {
31303122 var templ_7745c5c3_Var152 templ.SafeURL
31313123 templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
31323124 if templ_7745c5c3_Err != nil {
3133- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 600, Col: 37}
3125+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 598, Col: 37}
31343126 }
31353127 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152))
31363128 if templ_7745c5c3_Err != nil {
@@ -3143,7 +3135,7 @@ func compareRail(p ComparePage) templ.Component {
31433135 var templ_7745c5c3_Var153 string
31443136 templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
31453137 if templ_7745c5c3_Err != nil {
3146- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 600, Col: 49}
3138+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 598, Col: 49}
31473139 }
31483140 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153))
31493141 if templ_7745c5c3_Err != nil {
@@ -3156,7 +3148,7 @@ func compareRail(p ComparePage) templ.Component {
31563148 var templ_7745c5c3_Var154 string
31573149 templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
31583150 if templ_7745c5c3_Err != nil {
3159- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 32}
3151+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 599, Col: 32}
31603152 }
31613153 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154))
31623154 if templ_7745c5c3_Err != nil {
@@ -3169,7 +3161,7 @@ func compareRail(p ComparePage) templ.Component {
31693161 var templ_7745c5c3_Var155 string
31703162 templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author)
31713163 if templ_7745c5c3_Err != nil {
3172- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 16}
3164+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 16}
31733165 }
31743166 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155))
31753167 if templ_7745c5c3_Err != nil {
@@ -3183,7 +3175,7 @@ func compareRail(p ComparePage) templ.Component {
31833175 var templ_7745c5c3_Var156 string
31843176 templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinStringErrs(" · ")
31853177 if templ_7745c5c3_Err != nil {
3186- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 15}
3178+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 15}
31873179 }
31883180 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156))
31893181 if templ_7745c5c3_Err != nil {
@@ -3196,7 +3188,7 @@ func compareRail(p ComparePage) templ.Component {
31963188 var templ_7745c5c3_Var157 string
31973189 templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
31983190 if templ_7745c5c3_Err != nil {
3199- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 42}
3191+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 42}
32003192 }
32013193 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var157)
32023194 if templ_7745c5c3_Err != nil {
@@ -3209,7 +3201,7 @@ func compareRail(p ComparePage) templ.Component {
32093201 var templ_7745c5c3_Var158 string
32103202 templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
32113203 if templ_7745c5c3_Err != nil {
3212- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 53}
3204+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 53}
32133205 }
32143206 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158))
32153207 if templ_7745c5c3_Err != nil {
@@ -3237,7 +3229,7 @@ func compareRail(p ComparePage) templ.Component {
32373229 var templ_7745c5c3_Var159 string
32383230 templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
32393231 if templ_7745c5c3_Err != nil {
3240- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 612, Col: 47}
3232+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 610, Col: 47}
32413233 }
32423234 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159))
32433235 if templ_7745c5c3_Err != nil {
@@ -3260,7 +3252,7 @@ func compareRail(p ComparePage) templ.Component {
32603252 var templ_7745c5c3_Var160 string
32613253 templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files)))
32623254 if templ_7745c5c3_Err != nil {
3263- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 617, Col: 66}
3255+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 615, Col: 66}
32643256 }
32653257 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160))
32663258 if templ_7745c5c3_Err != nil {
@@ -2330,10 +2330,6 @@ func mrBar(p MRPage) templ.Component {
2330 if templ_7745c5c3_Err != nil {2330 if templ_7745c5c3_Err != nil {
2331 return templ_7745c5c3_Err2331 return templ_7745c5c3_Err
2332 }2332 }
2333- templ_7745c5c3_Err = wideButton().Render(ctx, templ_7745c5c3_Buffer)
2334- if templ_7745c5c3_Err != nil {
2335- return templ_7745c5c3_Err
2336- }
2337 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "<span class=\"grow\"></span>")2333 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "<span class=\"grow\"></span>")
2338 if templ_7745c5c3_Err != nil {2334 if templ_7745c5c3_Err != nil {
2339 return templ_7745c5c3_Err2335 return templ_7745c5c3_Err
@@ -2416,7 +2412,7 @@ func mergeMenu(p MRPage) templ.Component {
2416 var templ_7745c5c3_Var115 string2412 var templ_7745c5c3_Var115 string
2417 templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(p.HeadShort)2413 templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(p.HeadShort)
2418 if templ_7745c5c3_Err != nil {2414 if templ_7745c5c3_Err != nil {
2419- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 467, Col: 19}2415+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 466, Col: 19}
2420 }2416 }
2421 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115))2417 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115))
2422 if templ_7745c5c3_Err != nil {2418 if templ_7745c5c3_Err != nil {
@@ -2430,7 +2426,7 @@ func mergeMenu(p MRPage) templ.Component {
2430 var templ_7745c5c3_Var116 string2426 var templ_7745c5c3_Var116 string
2431 templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)2427 templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
2432 if templ_7745c5c3_Err != nil {2428 if templ_7745c5c3_Err != nil {
2433- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 471, Col: 18}2429+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 470, Col: 18}
2434 }2430 }
2435 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116))2431 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116))
2436 if templ_7745c5c3_Err != nil {2432 if templ_7745c5c3_Err != nil {
@@ -2448,7 +2444,7 @@ func mergeMenu(p MRPage) templ.Component {
2448 var templ_7745c5c3_Var117 templ.SafeURL2444 var templ_7745c5c3_Var117 templ.SafeURL
2449 templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction))2445 templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction))
2450 if templ_7745c5c3_Err != nil {2446 if templ_7745c5c3_Err != nil {
2451- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 475, Col: 80}2447+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 474, Col: 80}
2452 }2448 }
2453 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117))2449 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117))
2454 if templ_7745c5c3_Err != nil {2450 if templ_7745c5c3_Err != nil {
@@ -2466,7 +2462,7 @@ func mergeMenu(p MRPage) templ.Component {
2466 var templ_7745c5c3_Var118 templ.SafeURL2462 var templ_7745c5c3_Var118 templ.SafeURL
2467 templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction))2463 templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction))
2468 if templ_7745c5c3_Err != nil {2464 if templ_7745c5c3_Err != nil {
2469- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 479, Col: 80}2465+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 478, Col: 80}
2470 }2466 }
2471 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var118))2467 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var118))
2472 if templ_7745c5c3_Err != nil {2468 if templ_7745c5c3_Err != nil {
@@ -2479,7 +2475,7 @@ func mergeMenu(p MRPage) templ.Component {
2479 var templ_7745c5c3_Var119 string2475 var templ_7745c5c3_Var119 string
2480 templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head)2476 templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head)
2481 if templ_7745c5c3_Err != nil {2477 if templ_7745c5c3_Err != nil {
2482- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 480, Col: 59}2478+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 479, Col: 59}
2483 }2479 }
2484 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var119)2480 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var119)
2485 if templ_7745c5c3_Err != nil {2481 if templ_7745c5c3_Err != nil {
@@ -2497,7 +2493,7 @@ func mergeMenu(p MRPage) templ.Component {
2497 var templ_7745c5c3_Var120 string2493 var templ_7745c5c3_Var120 string
2498 templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value)2494 templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value)
2499 if templ_7745c5c3_Err != nil {2495 if templ_7745c5c3_Err != nil {
2500- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 485, Col: 55}2496+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 484, Col: 55}
2501 }2497 }
2502 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var120)2498 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var120)
2503 if templ_7745c5c3_Err != nil {2499 if templ_7745c5c3_Err != nil {
@@ -2520,7 +2516,7 @@ func mergeMenu(p MRPage) templ.Component {
2520 var templ_7745c5c3_Var121 string2516 var templ_7745c5c3_Var121 string
2521 templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label)2517 templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label)
2522 if templ_7745c5c3_Err != nil {2518 if templ_7745c5c3_Err != nil {
2523- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 486, Col: 17}2519+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 485, Col: 17}
2524 }2520 }
2525 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121))2521 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121))
2526 if templ_7745c5c3_Err != nil {2522 if templ_7745c5c3_Err != nil {
@@ -2538,7 +2534,7 @@ func mergeMenu(p MRPage) templ.Component {
2538 var templ_7745c5c3_Var122 string2534 var templ_7745c5c3_Var122 string
2539 templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1))2535 templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1))
2540 if templ_7745c5c3_Err != nil {2536 if templ_7745c5c3_Err != nil {
2541- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 488, Col: 46}2537+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 487, Col: 46}
2542 }2538 }
2543 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122))2539 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122))
2544 if templ_7745c5c3_Err != nil {2540 if templ_7745c5c3_Err != nil {
@@ -2566,7 +2562,7 @@ func mergeMenu(p MRPage) templ.Component {
2566 var templ_7745c5c3_Var123 string2562 var templ_7745c5c3_Var123 string
2567 templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)2563 templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)
2568 if templ_7745c5c3_Err != nil {2564 if templ_7745c5c3_Err != nil {
2569- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 494, Col: 102}2565+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 493, Col: 102}
2570 }2566 }
2571 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123))2567 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123))
2572 if templ_7745c5c3_Err != nil {2568 if templ_7745c5c3_Err != nil {
@@ -2584,7 +2580,7 @@ func mergeMenu(p MRPage) templ.Component {
2584 var templ_7745c5c3_Var124 string2580 var templ_7745c5c3_Var124 string
2585 templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)2581 templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
2586 if templ_7745c5c3_Err != nil {2582 if templ_7745c5c3_Err != nil {
2587- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 497, Col: 82}2583+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 496, Col: 82}
2588 }2584 }
2589 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124))2585 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124))
2590 if templ_7745c5c3_Err != nil {2586 if templ_7745c5c3_Err != nil {
@@ -2638,7 +2634,7 @@ func moreMenu(p MRPage) templ.Component {
2638 var templ_7745c5c3_Var126 templ.SafeURL2634 var templ_7745c5c3_Var126 templ.SafeURL
2639 templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction))2635 templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction))
2640 if templ_7745c5c3_Err != nil {2636 if templ_7745c5c3_Err != nil {
2641- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 512, Col: 64}2637+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 511, Col: 64}
2642 }2638 }
2643 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126))2639 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126))
2644 if templ_7745c5c3_Err != nil {2640 if templ_7745c5c3_Err != nil {
@@ -2651,7 +2647,7 @@ func moreMenu(p MRPage) templ.Component {
2651 var templ_7745c5c3_Var127 string2647 var templ_7745c5c3_Var127 string
2652 templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head)2648 templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head)
2653 if templ_7745c5c3_Err != nil {2649 if templ_7745c5c3_Err != nil {
2654- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 513, Col: 59}2650+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 512, Col: 59}
2655 }2651 }
2656 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var127)2652 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var127)
2657 if templ_7745c5c3_Err != nil {2653 if templ_7745c5c3_Err != nil {
@@ -2669,7 +2665,7 @@ func moreMenu(p MRPage) templ.Component {
2669 var templ_7745c5c3_Var128 templ.SafeURL2665 var templ_7745c5c3_Var128 templ.SafeURL
2670 templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction))2666 templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction))
2671 if templ_7745c5c3_Err != nil {2667 if templ_7745c5c3_Err != nil {
2672- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 517, Col: 64}2668+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 516, Col: 64}
2673 }2669 }
2674 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128))2670 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128))
2675 if templ_7745c5c3_Err != nil {2671 if templ_7745c5c3_Err != nil {
@@ -2741,7 +2737,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2741 var templ_7745c5c3_Var131 string2737 var templ_7745c5c3_Var131 string
2742 templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)2738 templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)
2743 if templ_7745c5c3_Err != nil {2739 if templ_7745c5c3_Err != nil {
2744- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 533, Col: 17}2740+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 17}
2745 }2741 }
2746 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131))2742 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131))
2747 if templ_7745c5c3_Err != nil {2743 if templ_7745c5c3_Err != nil {
@@ -2754,7 +2750,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2754 var templ_7745c5c3_Var132 string2750 var templ_7745c5c3_Var132 string
2755 templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)2751 templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
2756 if templ_7745c5c3_Err != nil {2752 if templ_7745c5c3_Err != nil {
2757- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 533, Col: 34}2753+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 34}
2758 }2754 }
2759 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var132))2755 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var132))
2760 if templ_7745c5c3_Err != nil {2756 if templ_7745c5c3_Err != nil {
@@ -2767,7 +2763,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2767 var templ_7745c5c3_Var133 templ.SafeURL2763 var templ_7745c5c3_Var133 templ.SafeURL
2768 templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref))2764 templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref))
2769 if templ_7745c5c3_Err != nil {2765 if templ_7745c5c3_Err != nil {
2770- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 536, Col: 45}2766+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 45}
2771 }2767 }
2772 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var133))2768 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var133))
2773 if templ_7745c5c3_Err != nil {2769 if templ_7745c5c3_Err != nil {
@@ -2780,7 +2776,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2780 var templ_7745c5c3_Var134 string2776 var templ_7745c5c3_Var134 string
2781 templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)2777 templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source)
2782 if templ_7745c5c3_Err != nil {2778 if templ_7745c5c3_Err != nil {
2783- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 536, Col: 58}2779+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 58}
2784 }2780 }
2785 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var134))2781 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var134))
2786 if templ_7745c5c3_Err != nil {2782 if templ_7745c5c3_Err != nil {
@@ -2793,7 +2789,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2793 var templ_7745c5c3_Var135 templ.SafeURL2789 var templ_7745c5c3_Var135 templ.SafeURL
2794 templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref))2790 templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref))
2795 if templ_7745c5c3_Err != nil {2791 if templ_7745c5c3_Err != nil {
2796- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 538, Col: 45}2792+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 537, Col: 45}
2797 }2793 }
2798 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135))2794 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135))
2799 if templ_7745c5c3_Err != nil {2795 if templ_7745c5c3_Err != nil {
@@ -2806,7 +2802,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2806 var templ_7745c5c3_Var136 string2802 var templ_7745c5c3_Var136 string
2807 templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)2803 templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
2808 if templ_7745c5c3_Err != nil {2804 if templ_7745c5c3_Err != nil {
2809- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 538, Col: 58}2805+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 537, Col: 58}
2810 }2806 }
2811 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136))2807 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136))
2812 if templ_7745c5c3_Err != nil {2808 if templ_7745c5c3_Err != nil {
@@ -2819,7 +2815,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2819 var templ_7745c5c3_Var137 string2815 var templ_7745c5c3_Var137 string
2820 templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText)2816 templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText)
2821 if templ_7745c5c3_Err != nil {2817 if templ_7745c5c3_Err != nil {
2822- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 540, Col: 21}2818+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 539, Col: 21}
2823 }2819 }
2824 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137))2820 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137))
2825 if templ_7745c5c3_Err != nil {2821 if templ_7745c5c3_Err != nil {
@@ -2837,7 +2833,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2837 var templ_7745c5c3_Var138 string2833 var templ_7745c5c3_Var138 string
2838 templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note)2834 templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note)
2839 if templ_7745c5c3_Err != nil {2835 if templ_7745c5c3_Err != nil {
2840- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 544, Col: 29}2836+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 543, Col: 29}
2841 }2837 }
2842 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138))2838 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138))
2843 if templ_7745c5c3_Err != nil {2839 if templ_7745c5c3_Err != nil {
@@ -2860,7 +2856,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2860 var templ_7745c5c3_Var139 templ.SafeURL2856 var templ_7745c5c3_Var139 templ.SafeURL
2861 templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href))2857 templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href))
2862 if templ_7745c5c3_Err != nil {2858 if templ_7745c5c3_Err != nil {
2863- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 547, Col: 114}2859+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 114}
2864 }2860 }
2865 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139))2861 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139))
2866 if templ_7745c5c3_Err != nil {2862 if templ_7745c5c3_Err != nil {
@@ -2873,7 +2869,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2873 var templ_7745c5c3_Var140 string2869 var templ_7745c5c3_Var140 string
2874 templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label)2870 templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label)
2875 if templ_7745c5c3_Err != nil {2871 if templ_7745c5c3_Err != nil {
2876- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 547, Col: 135}2872+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 135}
2877 }2873 }
2878 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var140))2874 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var140))
2879 if templ_7745c5c3_Err != nil {2875 if templ_7745c5c3_Err != nil {
@@ -2896,7 +2892,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2896 var templ_7745c5c3_Var141 templ.SafeURL2892 var templ_7745c5c3_Var141 templ.SafeURL
2897 templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action))2893 templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action))
2898 if templ_7745c5c3_Err != nil {2894 if templ_7745c5c3_Err != nil {
2899- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 550, Col: 83}2895+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 549, Col: 83}
2900 }2896 }
2901 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var141))2897 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var141))
2902 if templ_7745c5c3_Err != nil {2898 if templ_7745c5c3_Err != nil {
@@ -2909,7 +2905,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2909 var templ_7745c5c3_Var142 string2905 var templ_7745c5c3_Var142 string
2910 templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source)2906 templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source)
2911 if templ_7745c5c3_Err != nil {2907 if templ_7745c5c3_Err != nil {
2912- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 551, Col: 62}2908+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 550, Col: 62}
2913 }2909 }
2914 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142)2910 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142)
2915 if templ_7745c5c3_Err != nil {2911 if templ_7745c5c3_Err != nil {
@@ -2922,7 +2918,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2922 var templ_7745c5c3_Var143 string2918 var templ_7745c5c3_Var143 string
2923 templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target)2919 templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target)
2924 if templ_7745c5c3_Err != nil {2920 if templ_7745c5c3_Err != nil {
2925- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 552, Col: 62}2921+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 551, Col: 62}
2926 }2922 }
2927 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var143)2923 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var143)
2928 if templ_7745c5c3_Err != nil {2924 if templ_7745c5c3_Err != nil {
@@ -2935,7 +2931,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2935 var templ_7745c5c3_Var144 string2931 var templ_7745c5c3_Var144 string
2936 templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title)2932 templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title)
2937 if templ_7745c5c3_Err != nil {2933 if templ_7745c5c3_Err != nil {
2938- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 554, Col: 97}2934+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 553, Col: 97}
2939 }2935 }
2940 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144)2936 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144)
2941 if templ_7745c5c3_Err != nil {2937 if templ_7745c5c3_Err != nil {
@@ -2958,7 +2954,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2958 var templ_7745c5c3_Var145 string2954 var templ_7745c5c3_Var145 string
2959 templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files"))2955 templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files"))
2960 if templ_7745c5c3_Err != nil {2956 if templ_7745c5c3_Err != nil {
2961- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 57}2957+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 57}
2962 }2958 }
2963 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145))2959 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145))
2964 if templ_7745c5c3_Err != nil {2960 if templ_7745c5c3_Err != nil {
@@ -2971,7 +2967,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2971 var templ_7745c5c3_Var146 string2967 var templ_7745c5c3_Var146 string
2972 templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds))2968 templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds))
2973 if templ_7745c5c3_Err != nil {2969 if templ_7745c5c3_Err != nil {
2974- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 97}2970+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 97}
2975 }2971 }
2976 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146))2972 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146))
2977 if templ_7745c5c3_Err != nil {2973 if templ_7745c5c3_Err != nil {
@@ -2984,7 +2980,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
2984 var templ_7745c5c3_Var147 string2980 var templ_7745c5c3_Var147 string
2985 templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels))2981 templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels))
2986 if templ_7745c5c3_Err != nil {2982 if templ_7745c5c3_Err != nil {
2987- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 142}2983+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 142}
2988 }2984 }
2989 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var147))2985 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var147))
2990 if templ_7745c5c3_Err != nil {2986 if templ_7745c5c3_Err != nil {
@@ -2998,10 +2994,6 @@ func Compare(l Layout, p ComparePage) templ.Component {
2998 if templ_7745c5c3_Err != nil {2994 if templ_7745c5c3_Err != nil {
2999 return templ_7745c5c3_Err2995 return templ_7745c5c3_Err
3000 }2996 }
3001- templ_7745c5c3_Err = wideButton().Render(ctx, templ_7745c5c3_Buffer)
3002- if templ_7745c5c3_Err != nil {
3003- return templ_7745c5c3_Err
3004- }
3005 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "</div>")2997 templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "</div>")
3006 if templ_7745c5c3_Err != nil {2998 if templ_7745c5c3_Err != nil {
3007 return templ_7745c5c3_Err2999 return templ_7745c5c3_Err
@@ -3024,7 +3016,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
3024 var templ_7745c5c3_Var148 string3016 var templ_7745c5c3_Var148 string
3025 templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View)3017 templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View)
3026 if templ_7745c5c3_Err != nil {3018 if templ_7745c5c3_Err != nil {
3027- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 578, Col: 23}3019+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 576, Col: 23}
3028 }3020 }
3029 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var148)3021 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var148)
3030 if templ_7745c5c3_Err != nil {3022 if templ_7745c5c3_Err != nil {
@@ -3042,7 +3034,7 @@ func Compare(l Layout, p ComparePage) templ.Component {
3042 var templ_7745c5c3_Var149 string3034 var templ_7745c5c3_Var149 string
3043 templ_7745c5c3_Var149, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View)3035 templ_7745c5c3_Var149, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View)
3044 if templ_7745c5c3_Err != nil {3036 if templ_7745c5c3_Err != nil {
3045- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 580, Col: 23}3037+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 578, Col: 23}
3046 }3038 }
3047 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var149)3039 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var149)
3048 if templ_7745c5c3_Err != nil {3040 if templ_7745c5c3_Err != nil {
@@ -3112,7 +3104,7 @@ func compareRail(p ComparePage) templ.Component {
3112 var templ_7745c5c3_Var151 string3104 var templ_7745c5c3_Var151 string
3113 templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead)))3105 templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead)))
3114 if templ_7745c5c3_Err != nil {3106 if templ_7745c5c3_Err != nil {
3115- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 596, Col: 67}3107+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 594, Col: 67}
3116 }3108 }
3117 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151))3109 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151))
3118 if templ_7745c5c3_Err != nil {3110 if templ_7745c5c3_Err != nil {
@@ -3130,7 +3122,7 @@ func compareRail(p ComparePage) templ.Component {
3130 var templ_7745c5c3_Var152 templ.SafeURL3122 var templ_7745c5c3_Var152 templ.SafeURL
3131 templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))3123 templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref))
3132 if templ_7745c5c3_Err != nil {3124 if templ_7745c5c3_Err != nil {
3133- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 600, Col: 37}3125+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 598, Col: 37}
3134 }3126 }
3135 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152))3127 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152))
3136 if templ_7745c5c3_Err != nil {3128 if templ_7745c5c3_Err != nil {
@@ -3143,7 +3135,7 @@ func compareRail(p ComparePage) templ.Component {
3143 var templ_7745c5c3_Var153 string3135 var templ_7745c5c3_Var153 string
3144 templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)3136 templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short)
3145 if templ_7745c5c3_Err != nil {3137 if templ_7745c5c3_Err != nil {
3146- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 600, Col: 49}3138+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 598, Col: 49}
3147 }3139 }
3148 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153))3140 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153))
3149 if templ_7745c5c3_Err != nil {3141 if templ_7745c5c3_Err != nil {
@@ -3156,7 +3148,7 @@ func compareRail(p ComparePage) templ.Component {
3156 var templ_7745c5c3_Var154 string3148 var templ_7745c5c3_Var154 string
3157 templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)3149 templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject)
3158 if templ_7745c5c3_Err != nil {3150 if templ_7745c5c3_Err != nil {
3159- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 32}3151+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 599, Col: 32}
3160 }3152 }
3161 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154))3153 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154))
3162 if templ_7745c5c3_Err != nil {3154 if templ_7745c5c3_Err != nil {
@@ -3169,7 +3161,7 @@ func compareRail(p ComparePage) templ.Component {
3169 var templ_7745c5c3_Var155 string3161 var templ_7745c5c3_Var155 string
3170 templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author)3162 templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author)
3171 if templ_7745c5c3_Err != nil {3163 if templ_7745c5c3_Err != nil {
3172- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 16}3164+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 16}
3173 }3165 }
3174 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155))3166 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155))
3175 if templ_7745c5c3_Err != nil {3167 if templ_7745c5c3_Err != nil {
@@ -3183,7 +3175,7 @@ func compareRail(p ComparePage) templ.Component {
3183 var templ_7745c5c3_Var156 string3175 var templ_7745c5c3_Var156 string
3184 templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinStringErrs(" · ")3176 templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinStringErrs(" · ")
3185 if templ_7745c5c3_Err != nil {3177 if templ_7745c5c3_Err != nil {
3186- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 15}3178+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 15}
3187 }3179 }
3188 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156))3180 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156))
3189 if templ_7745c5c3_Err != nil {3181 if templ_7745c5c3_Err != nil {
@@ -3196,7 +3188,7 @@ func compareRail(p ComparePage) templ.Component {
3196 var templ_7745c5c3_Var157 string3188 var templ_7745c5c3_Var157 string
3197 templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)3189 templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt)
3198 if templ_7745c5c3_Err != nil {3190 if templ_7745c5c3_Err != nil {
3199- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 42}3191+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 42}
3200 }3192 }
3201 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var157)3193 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var157)
3202 if templ_7745c5c3_Err != nil {3194 if templ_7745c5c3_Err != nil {
@@ -3209,7 +3201,7 @@ func compareRail(p ComparePage) templ.Component {
3209 var templ_7745c5c3_Var158 string3201 var templ_7745c5c3_Var158 string
3210 templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)3202 templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(c.When)
3211 if templ_7745c5c3_Err != nil {3203 if templ_7745c5c3_Err != nil {
3212- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 53}3204+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 53}
3213 }3205 }
3214 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158))3206 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158))
3215 if templ_7745c5c3_Err != nil {3207 if templ_7745c5c3_Err != nil {
@@ -3237,7 +3229,7 @@ func compareRail(p ComparePage) templ.Component {
3237 var templ_7745c5c3_Var159 string3229 var templ_7745c5c3_Var159 string
3238 templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)3230 templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target)
3239 if templ_7745c5c3_Err != nil {3231 if templ_7745c5c3_Err != nil {
3240- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 612, Col: 47}3232+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 610, Col: 47}
3241 }3233 }
3242 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159))3234 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159))
3243 if templ_7745c5c3_Err != nil {3235 if templ_7745c5c3_Err != nil {
@@ -3260,7 +3252,7 @@ func compareRail(p ComparePage) templ.Component {
3260 var templ_7745c5c3_Var160 string3252 var templ_7745c5c3_Var160 string
3261 templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files)))3253 templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files)))
3262 if templ_7745c5c3_Err != nil {3254 if templ_7745c5c3_Err != nil {
3263- return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 617, Col: 66}3255+ return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 615, Col: 66}
3264 }3256 }
3265 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160))3257 _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160))
3266 if templ_7745c5c3_Err != nil {3258 if templ_7745c5c3_Err != nil {
M internal/adapters/web/static/js/ermite.js +2 -3
@@ -557,14 +557,13 @@
557557 // The wide mode (w, on every page): the work area takes the whole width of
558558 // the screen, the rail at the right edge and the content in the rest.
559559 // The choice is kept by ermiteStore ("wide": '1' when wide) and shown
560- // as html.wide, which the styles follow, and as aria-pressed on the
561- // buttons [data-wide-toggle]. Another tab's change applies here at once.
560+ // as html.wide, which the styles follow. Another tab's change applies here
561+ // at once.
562562 window.ermiteWide = (() => {
563563 const pref = window.ermiteStore.pref('wide', { values: ['1', ''], fallback: '' });
564564 function apply() {
565565 const wide = pref.get() === '1';
566566 document.documentElement.classList.toggle?.('wide', wide);
567- for (const b of document.querySelectorAll('[data-wide-toggle]')) b.setAttribute('aria-pressed', String(wide));
568567 }
569568 function toggle() {
570569 pref.set(pref.get() === '1' ? '' : '1');
@@ -557,14 +557,13 @@
557 // The wide mode (w, on every page): the work area takes the whole width of557 // The wide mode (w, on every page): the work area takes the whole width of
558 // the screen, the rail at the right edge and the content in the rest.558 // the screen, the rail at the right edge and the content in the rest.
559 // The choice is kept by ermiteStore ("wide": '1' when wide) and shown559 // The choice is kept by ermiteStore ("wide": '1' when wide) and shown
560- // as html.wide, which the styles follow, and as aria-pressed on the560+ // as html.wide, which the styles follow. Another tab's change applies here
561- // buttons [data-wide-toggle]. Another tab's change applies here at once.561+ // at once.
562 window.ermiteWide = (() => {562 window.ermiteWide = (() => {
563 const pref = window.ermiteStore.pref('wide', { values: ['1', ''], fallback: '' });563 const pref = window.ermiteStore.pref('wide', { values: ['1', ''], fallback: '' });
564 function apply() {564 function apply() {
565 const wide = pref.get() === '1';565 const wide = pref.get() === '1';
566 document.documentElement.classList.toggle?.('wide', wide);566 document.documentElement.classList.toggle?.('wide', wide);
567- for (const b of document.querySelectorAll('[data-wide-toggle]')) b.setAttribute('aria-pressed', String(wide));
568 }567 }
569 function toggle() {568 function toggle() {
570 pref.set(pref.get() === '1' ? '' : '1');569 pref.set(pref.get() === '1' ? '' : '1');

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 44

↑↓ moveenter openesc close