⋯ 2570 hidden lines@@ -2571,185 +2571,389 @@ func mergeMenu(p MRPage) templ.Component { 2571 if templ_7745c5c3_Err != nil { 2571 if templ_7745c5c3_Err != nil { 2572 return templ_7745c5c3_Err 2572 return templ_7745c5c3_Err 2573 } 2573 } 2574 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, " <form class=\"d-acts\" method=\"post\" action=\"" ) 2574 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, " " ) 2575 if templ_7745c5c3_Err != nil { 2575 if templ_7745c5c3_Err != nil { 2576 return templ_7745c5c3_Err 2576 return templ_7745c5c3_Err 2577 } 2577 } 2578 - var templ_7745c5c3_Var120 templ.SafeURL 2578 + if p.Box.AutoMerge != nil { 2579 - templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) 2579 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "<form class=\"d-acts\" method=\"post\" action=\"" ) 2580 + if templ_7745c5c3_Err != nil { 2581 + return templ_7745c5c3_Err 2582 + } 2583 + var templ_7745c5c3_Var120 templ.SafeURL 2584 + templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CancelAutoAction)) 2585 + if templ_7745c5c3_Err != nil { 2586 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 512, Col: 86} 2587 + } 2588 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120)) 2589 + if templ_7745c5c3_Err != nil { 2590 + return templ_7745c5c3_Err 2591 + } 2592 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "\"><p class=\"dim\" role=\"status\">Auto-merge: " ) 2593 + if templ_7745c5c3_Err != nil { 2594 + return templ_7745c5c3_Err 2595 + } 2596 + var templ_7745c5c3_Var121 string 2597 + templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.Mode) 2598 + if templ_7745c5c3_Err != nil { 2599 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 514, Col: 41} 2600 + } 2601 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121)) 2602 + if templ_7745c5c3_Err != nil { 2603 + return templ_7745c5c3_Err 2604 + } 2605 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, " when ready, enabled by " ) 2606 + if templ_7745c5c3_Err != nil { 2607 + return templ_7745c5c3_Err 2608 + } 2609 + var templ_7745c5c3_Var122 string 2610 + templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.EnabledBy) 2611 + if templ_7745c5c3_Err != nil { 2612 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 514, Col: 94} 2613 + } 2614 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122)) 2615 + if templ_7745c5c3_Err != nil { 2616 + return templ_7745c5c3_Err 2617 + } 2618 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, " " ) 2619 + if templ_7745c5c3_Err != nil { 2620 + return templ_7745c5c3_Err 2621 + } 2622 + if p.Box.AutoMerge.When != "" { 2623 + var templ_7745c5c3_Var123 string 2624 + templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(" " ) 2625 + if templ_7745c5c3_Err != nil { 2626 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 516, Col: 13} 2627 + } 2628 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123)) 2629 + if templ_7745c5c3_Err != nil { 2630 + return templ_7745c5c3_Err 2631 + } 2632 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, "<time datetime=\"" ) 2633 + if templ_7745c5c3_Err != nil { 2634 + return templ_7745c5c3_Err 2635 + } 2636 + var templ_7745c5c3_Var124 string 2637 + templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.AutoMerge.WhenAt) 2638 + if templ_7745c5c3_Err != nil { 2639 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 516, Col: 54} 2640 + } 2641 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var124) 2642 + if templ_7745c5c3_Err != nil { 2643 + return templ_7745c5c3_Err 2644 + } 2645 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, "\">" ) 2646 + if templ_7745c5c3_Err != nil { 2647 + return templ_7745c5c3_Err 2648 + } 2649 + var templ_7745c5c3_Var125 string 2650 + templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.When) 2651 + if templ_7745c5c3_Err != nil { 2652 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 516, Col: 79} 2653 + } 2654 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var125)) 2655 + if templ_7745c5c3_Err != nil { 2656 + return templ_7745c5c3_Err 2657 + } 2658 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, "</time> " ) 2659 + if templ_7745c5c3_Err != nil { 2660 + return templ_7745c5c3_Err 2661 + } 2662 + } 2663 + var templ_7745c5c3_Var126 string 2664 + templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinStringErrs(" " ) 2665 + if templ_7745c5c3_Err != nil { 2666 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 518, Col: 12} 2667 + } 2668 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126)) 2669 + if templ_7745c5c3_Err != nil { 2670 + return templ_7745c5c3_Err 2671 + } 2672 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, "(head " ) 2673 + if templ_7745c5c3_Err != nil { 2674 + return templ_7745c5c3_Err 2675 + } 2676 + var templ_7745c5c3_Var127 string 2677 + templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.HeadShort) 2678 + if templ_7745c5c3_Err != nil { 2679 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 518, Col: 47} 2680 + } 2681 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127)) 2682 + if templ_7745c5c3_Err != nil { 2683 + return templ_7745c5c3_Err 2684 + } 2685 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, ")</p><div class=\"d-btns\"><button type=\"submit\" class=\"btn\">Cancel auto-merge</button></div></form>" ) 2686 + if templ_7745c5c3_Err != nil { 2687 + return templ_7745c5c3_Err 2688 + } 2689 + } 2690 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, " <form class=\"d-acts\" method=\"post\" action=\"" ) 2691 + if templ_7745c5c3_Err != nil { 2692 + return templ_7745c5c3_Err 2693 + } 2694 + var templ_7745c5c3_Var128 templ.SafeURL 2695 + templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) 2580 if templ_7745c5c3_Err != nil { 2696 if templ_7745c5c3_Err != nil { 2581 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 511, Col: 80} 2697 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 525, Col: 80} 2582 } 2698 } 2583 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120)) 2699 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128)) 2584 if templ_7745c5c3_Err != nil { 2700 if templ_7745c5c3_Err != nil { 2585 return templ_7745c5c3_Err 2701 return templ_7745c5c3_Err 2586 } 2702 } 2587 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "\"><input type=\"hidden\" name=\"head_id\" value=\"" ) 2703 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, "\"><input type=\"hidden\" name=\"head_id\" value=\"" ) 2588 if templ_7745c5c3_Err != nil { 2704 if templ_7745c5c3_Err != nil { 2589 return templ_7745c5c3_Err 2705 return templ_7745c5c3_Err 2590 } 2706 } 2591 - var templ_7745c5c3_Var121 string 2707 + var templ_7745c5c3_Var129 string 2592 - templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) 2708 + templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) 2593 if templ_7745c5c3_Err != nil { 2709 if templ_7745c5c3_Err != nil { 2594 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 512, Col: 59} 2710 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 526, Col: 59} 2595 } 2711 } 2596 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var121) 2712 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var129) 2597 if templ_7745c5c3_Err != nil { 2713 if templ_7745c5c3_Err != nil { 2598 return templ_7745c5c3_Err 2714 return templ_7745c5c3_Err 2599 } 2715 } 2600 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> " ) 2716 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> " ) 2601 if templ_7745c5c3_Err != nil { 2717 if templ_7745c5c3_Err != nil { 2602 return templ_7745c5c3_Err 2718 return templ_7745c5c3_Err 2603 } 2719 } 2604 for i, m := range p.Box.Modes { 2720 for i, m := range p.Box.Modes { 2605 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, "<label><input type=\"radio\" name=\"mode\" value=\"" ) 2721 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "<label><input type=\"radio\" name=\"mode\" value=\"" ) 2606 if templ_7745c5c3_Err != nil { 2722 if templ_7745c5c3_Err != nil { 2607 return templ_7745c5c3_Err 2723 return templ_7745c5c3_Err 2608 } 2724 } 2609 - var templ_7745c5c3_Var122 string 2725 + var templ_7745c5c3_Var130 string 2610 - templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) 2726 + templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) 2611 if templ_7745c5c3_Err != nil { 2727 if templ_7745c5c3_Err != nil { 2612 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 520, Col: 24} 2728 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 534, Col: 24} 2613 } 2729 } 2614 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var122) 2730 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var130) 2615 if templ_7745c5c3_Err != nil { 2731 if templ_7745c5c3_Err != nil { 2616 return templ_7745c5c3_Err 2732 return templ_7745c5c3_Err 2617 } 2733 } 2618 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, "\"" ) 2734 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, "\"" ) 2619 if templ_7745c5c3_Err != nil { 2735 if templ_7745c5c3_Err != nil { 2620 return templ_7745c5c3_Err 2736 return templ_7745c5c3_Err 2621 } 2737 } 2622 if i == p.Box.Checked() { 2738 if i == p.Box.Checked() { 2623 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, " checked" ) 2739 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, " checked" ) 2624 if templ_7745c5c3_Err != nil { 2740 if templ_7745c5c3_Err != nil { 2625 return templ_7745c5c3_Err 2741 return templ_7745c5c3_Err 2626 } 2742 } 2627 } 2743 } 2628 if m.Disabled { 2744 if m.Disabled { 2629 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, " disabled" ) 2745 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, " disabled" ) 2630 if templ_7745c5c3_Err != nil { 2746 if templ_7745c5c3_Err != nil { 2631 return templ_7745c5c3_Err 2747 return templ_7745c5c3_Err 2632 } 2748 } 2633 } 2749 } 2634 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, " title=\"" ) 2750 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, " title=\"" ) 2635 if templ_7745c5c3_Err != nil { 2751 if templ_7745c5c3_Err != nil { 2636 return templ_7745c5c3_Err 2752 return templ_7745c5c3_Err 2637 } 2753 } 2638 - var templ_7745c5c3_Var123 string 2754 + var templ_7745c5c3_Var131 string 2639 - templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Reason) 2755 + templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Reason) 2640 if templ_7745c5c3_Err != nil { 2756 if templ_7745c5c3_Err != nil { 2641 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 523, Col: 25} 2757 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 537, Col: 25} 2642 } 2758 } 2643 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var123) 2759 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var131) 2644 if templ_7745c5c3_Err != nil { 2760 if templ_7745c5c3_Err != nil { 2645 return templ_7745c5c3_Err 2761 return templ_7745c5c3_Err 2646 } 2762 } 2647 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, "\" :disabled=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffOk !== true : q('[data-mergeability]').data.mergeOk !== true\" :title=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffReason : q('[data-mergeability]').data.mergeReason\"> " ) 2763 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "\" :disabled=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffOk !== true : q('[data-mergeability]').data.mergeOk !== true\" :title=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffReason : q('[data-mergeability]').data.mergeReason\"> " ) 2648 if templ_7745c5c3_Err != nil { 2764 if templ_7745c5c3_Err != nil { 2649 return templ_7745c5c3_Err 2765 return templ_7745c5c3_Err 2650 } 2766 } 2651 - var templ_7745c5c3_Var124 string 2767 + var templ_7745c5c3_Var132 string 2652 - templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) 2768 + templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) 2653 if templ_7745c5c3_Err != nil { 2769 if templ_7745c5c3_Err != nil { 2654 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 527, Col: 17} 2770 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 541, Col: 17} 2655 } 2771 } 2656 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124)) 2772 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var132)) 2657 if templ_7745c5c3_Err != nil { 2773 if templ_7745c5c3_Err != nil { 2658 return templ_7745c5c3_Err 2774 return templ_7745c5c3_Err 2659 } 2775 } 2660 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, " " ) 2776 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, " " ) 2661 if templ_7745c5c3_Err != nil { 2777 if templ_7745c5c3_Err != nil { 2662 return templ_7745c5c3_Err 2778 return templ_7745c5c3_Err 2663 } 2779 } 2664 if i < 9 { 2780 if i < 9 { 2665 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, "<kbd aria-hidden=\"true\">" ) 2781 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, "<kbd aria-hidden=\"true\">" ) 2666 if templ_7745c5c3_Err != nil { 2782 if templ_7745c5c3_Err != nil { 2667 return templ_7745c5c3_Err 2783 return templ_7745c5c3_Err 2668 } 2784 } 2669 - var templ_7745c5c3_Var125 string 2785 + var templ_7745c5c3_Var133 string 2670 - templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) 2786 + templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) 2671 if templ_7745c5c3_Err != nil { 2787 if templ_7745c5c3_Err != nil { 2672 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 529, Col: 46} 2788 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 543, Col: 46} 2673 } 2789 } 2674 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var125)) 2790 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var133)) 2675 if templ_7745c5c3_Err != nil { 2791 if templ_7745c5c3_Err != nil { 2676 return templ_7745c5c3_Err 2792 return templ_7745c5c3_Err 2677 } 2793 } 2678 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, "</kbd>" ) 2794 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, "</kbd>" ) 2679 if templ_7745c5c3_Err != nil { 2795 if templ_7745c5c3_Err != nil { 2680 return templ_7745c5c3_Err 2796 return templ_7745c5c3_Err 2681 } 2797 } 2682 } 2798 } 2683 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, "</label>" ) 2799 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, "</label>" ) 2684 if templ_7745c5c3_Err != nil { 2800 if templ_7745c5c3_Err != nil { 2685 return templ_7745c5c3_Err 2801 return templ_7745c5c3_Err 2686 } 2802 } 2687 } 2803 } 2688 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "</fieldset>" ) 2804 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, "</fieldset>" ) 2689 if templ_7745c5c3_Err != nil { 2805 if templ_7745c5c3_Err != nil { 2690 return templ_7745c5c3_Err 2806 return templ_7745c5c3_Err 2691 } 2807 } 2692 if p.Box.CanDeleteBranch { 2808 if p.Box.CanDeleteBranch { 2693 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete " ) 2809 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete " ) 2694 if templ_7745c5c3_Err != nil { 2810 if templ_7745c5c3_Err != nil { 2695 return templ_7745c5c3_Err 2811 return templ_7745c5c3_Err 2696 } 2812 } 2697 - var templ_7745c5c3_Var126 string 2813 + var templ_7745c5c3_Var134 string 2698 - templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 2814 + templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 2699 if templ_7745c5c3_Err != nil { 2815 if templ_7745c5c3_Err != nil { 2700 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 535, Col: 102} 2816 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 549, Col: 102} 2701 } 2817 } 2702 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126)) 2818 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var134)) 2703 if templ_7745c5c3_Err != nil { 2819 if templ_7745c5c3_Err != nil { 2704 return templ_7745c5c3_Err 2820 return templ_7745c5c3_Err 2705 } 2821 } 2706 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>" ) 2822 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>" ) 2707 if templ_7745c5c3_Err != nil { 2823 if templ_7745c5c3_Err != nil { 2708 return templ_7745c5c3_Err 2824 return templ_7745c5c3_Err 2709 } 2825 } 2710 } 2826 } 2711 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default" ) 2827 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default" ) 2712 if templ_7745c5c3_Err != nil { 2828 if templ_7745c5c3_Err != nil { 2713 return templ_7745c5c3_Err 2829 return templ_7745c5c3_Err 2714 } 2830 } 2715 if !p.Box.CanMerge() { 2831 if !p.Box.CanMerge() { 2716 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, " disabled" ) 2832 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, " disabled" ) 2717 if templ_7745c5c3_Err != nil { 2833 if templ_7745c5c3_Err != nil { 2718 return templ_7745c5c3_Err 2834 return templ_7745c5c3_Err 2719 } 2835 } 2720 } 2836 } 2721 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, " title=\"" ) 2837 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, " title=\"" ) 2722 if templ_7745c5c3_Err != nil { 2838 if templ_7745c5c3_Err != nil { 2723 return templ_7745c5c3_Err 2839 return templ_7745c5c3_Err 2724 } 2840 } 2725 - var templ_7745c5c3_Var127 string 2841 + var templ_7745c5c3_Var135 string 2726 - templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeTitle()) 2842 + templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeTitle()) 2727 if templ_7745c5c3_Err != nil { 2843 if templ_7745c5c3_Err != nil { 2728 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 543, Col: 33} 2844 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 557, Col: 33} 2729 } 2845 } 2730 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var127) 2846 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var135) 2731 if templ_7745c5c3_Err != nil { 2847 if templ_7745c5c3_Err != nil { 2732 return templ_7745c5c3_Err 2848 return templ_7745c5c3_Err 2733 } 2849 } 2734 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "\" :disabled=\"!this.form.querySelector('input[name=mode]:checked:not(:disabled)')\" :title=\"(this.form.querySelector('input[name=mode]:checked') || {}).title || ''\">Merge into " ) 2850 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "\" :disabled=\"!this.form.querySelector('input[name=mode]:checked:not(:disabled)')\" :title=\"(this.form.querySelector('input[name=mode]:checked') || {}).title || ''\">Merge into " ) 2735 if templ_7745c5c3_Err != nil { 2851 if templ_7745c5c3_Err != nil { 2736 return templ_7745c5c3_Err 2852 return templ_7745c5c3_Err 2737 } 2853 } 2738 - var templ_7745c5c3_Var128 string 2854 + var templ_7745c5c3_Var136 string 2739 - templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2855 + templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2740 if templ_7745c5c3_Err != nil { 2856 if templ_7745c5c3_Err != nil { 2741 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 546, Col: 28} 2857 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 560, Col: 28} 2742 } 2858 } 2743 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128)) 2859 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136)) 2744 if templ_7745c5c3_Err != nil { 2860 if templ_7745c5c3_Err != nil { 2745 return templ_7745c5c3_Err 2861 return templ_7745c5c3_Err 2746 } 2862 } 2747 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, "</button></div></form>" ) 2863 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, "</button></div></form>" ) 2748 if templ_7745c5c3_Err != nil { 2864 if templ_7745c5c3_Err != nil { 2749 return templ_7745c5c3_Err 2865 return templ_7745c5c3_Err 2750 } 2866 } 2867 + if p.Box.CanAutoMerge { 2868 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, "<form class=\"d-acts\" method=\"post\" action=\"" ) 2869 + if templ_7745c5c3_Err != nil { 2870 + return templ_7745c5c3_Err 2871 + } 2872 + var templ_7745c5c3_Var137 templ.SafeURL 2873 + templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.AutoAction)) 2874 + if templ_7745c5c3_Err != nil { 2875 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 564, Col: 80} 2876 + } 2877 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137)) 2878 + if templ_7745c5c3_Err != nil { 2879 + return templ_7745c5c3_Err 2880 + } 2881 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, "\"><input type=\"hidden\" name=\"head_id\" value=\"" ) 2882 + if templ_7745c5c3_Err != nil { 2883 + return templ_7745c5c3_Err 2884 + } 2885 + var templ_7745c5c3_Var138 string 2886 + templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) 2887 + if templ_7745c5c3_Err != nil { 2888 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 565, Col: 60} 2889 + } 2890 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var138) 2891 + if templ_7745c5c3_Err != nil { 2892 + return templ_7745c5c3_Err 2893 + } 2894 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, "\"><fieldset class=\"d-modes\"><legend>Auto-merge mode</legend> " ) 2895 + if templ_7745c5c3_Err != nil { 2896 + return templ_7745c5c3_Err 2897 + } 2898 + for i, m := range p.Box.Modes { 2899 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "<label><input type=\"radio\" name=\"mode\" value=\"" ) 2900 + if templ_7745c5c3_Err != nil { 2901 + return templ_7745c5c3_Err 2902 + } 2903 + var templ_7745c5c3_Var139 string 2904 + templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) 2905 + if templ_7745c5c3_Err != nil { 2906 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 569, Col: 62} 2907 + } 2908 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var139) 2909 + if templ_7745c5c3_Err != nil { 2910 + return templ_7745c5c3_Err 2911 + } 2912 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, "\"" ) 2913 + if templ_7745c5c3_Err != nil { 2914 + return templ_7745c5c3_Err 2915 + } 2916 + if i == 0 { 2917 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, " checked" ) 2918 + if templ_7745c5c3_Err != nil { 2919 + return templ_7745c5c3_Err 2920 + } 2921 + } 2922 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "> " ) 2923 + if templ_7745c5c3_Err != nil { 2924 + return templ_7745c5c3_Err 2925 + } 2926 + var templ_7745c5c3_Var140 string 2927 + templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) 2928 + if templ_7745c5c3_Err != nil { 2929 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 569, Col: 96} 2930 + } 2931 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var140)) 2932 + if templ_7745c5c3_Err != nil { 2933 + return templ_7745c5c3_Err 2934 + } 2935 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "</label>" ) 2936 + if templ_7745c5c3_Err != nil { 2937 + return templ_7745c5c3_Err 2938 + } 2939 + } 2940 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 279, "</fieldset><div class=\"d-btns\"><button type=\"submit\" class=\"btn\"" ) 2941 + if templ_7745c5c3_Err != nil { 2942 + return templ_7745c5c3_Err 2943 + } 2944 + if len(p.Box.Modes) == 0 { 2945 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 280, " disabled" ) 2946 + if templ_7745c5c3_Err != nil { 2947 + return templ_7745c5c3_Err 2948 + } 2949 + } 2950 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 281, " title=\"merge once the checks pass\">Merge when ready</button></div></form>" ) 2951 + if templ_7745c5c3_Err != nil { 2952 + return templ_7745c5c3_Err 2953 + } 2954 + } 2751 } 2955 } 2752 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, "</div></details>" ) 2956 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 282, "</div></details>" ) 2753 if templ_7745c5c3_Err != nil { 2957 if templ_7745c5c3_Err != nil { 2754 return templ_7745c5c3_Err 2958 return templ_7745c5c3_Err 2755 } 2959 } ⋯ 19 hidden lines@@ -2775,182 +2979,182 @@ func MRMergeability(v MergeabilityView) templ.Component { 2775 }() 2979 }() 2776 } 2980 } 2777 ctx = templ.InitializeContext(ctx) 2981 ctx = templ.InitializeContext(ctx) 2778 - templ_7745c5c3_Var129 := templ.GetChildren(ctx) 2982 + templ_7745c5c3_Var141 := templ.GetChildren(ctx) 2779 - if templ_7745c5c3_Var129 == nil { 2983 + if templ_7745c5c3_Var141 == nil { 2780 - templ_7745c5c3_Var129 = templ.NopComponent 2984 + templ_7745c5c3_Var141 = templ.NopComponent 2781 } 2985 } 2782 ctx = templ.ClearChildren(ctx) 2986 ctx = templ.ClearChildren(ctx) 2783 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, "<span data-mergeability data-state=\"" ) 2987 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 283, "<span data-mergeability data-state=\"" ) 2784 if templ_7745c5c3_Err != nil { 2988 if templ_7745c5c3_Err != nil { 2785 return templ_7745c5c3_Err 2989 return templ_7745c5c3_Err 2786 } 2990 } 2787 - var templ_7745c5c3_Var130 string 2991 + var templ_7745c5c3_Var142 string 2788 - templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) 2992 + templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) 2789 if templ_7745c5c3_Err != nil { 2993 if templ_7745c5c3_Err != nil { 2790 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 559, Col: 22} 2994 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 587, Col: 22} 2791 } 2995 } 2792 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var130) 2996 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142) 2793 if templ_7745c5c3_Err != nil { 2997 if templ_7745c5c3_Err != nil { 2794 return templ_7745c5c3_Err 2998 return templ_7745c5c3_Err 2795 } 2999 } 2796 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, "\" data-ff-ok=\"" ) 3000 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 284, "\" data-ff-ok=\"" ) 2797 if templ_7745c5c3_Err != nil { 3001 if templ_7745c5c3_Err != nil { 2798 return templ_7745c5c3_Err 3002 return templ_7745c5c3_Err 2799 } 3003 } 2800 - var templ_7745c5c3_Var131 string 3004 + var templ_7745c5c3_Var143 string 2801 - templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.FFOk)) 3005 + templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.FFOk)) 2802 if templ_7745c5c3_Err != nil { 3006 if templ_7745c5c3_Err != nil { 2803 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 560, Col: 41} 3007 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 588, Col: 41} 2804 } 3008 } 2805 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var131) 3009 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var143) 2806 if templ_7745c5c3_Err != nil { 3010 if templ_7745c5c3_Err != nil { 2807 return templ_7745c5c3_Err 3011 return templ_7745c5c3_Err 2808 } 3012 } 2809 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "\" data-merge-ok=\"" ) 3013 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 285, "\" data-merge-ok=\"" ) 2810 if templ_7745c5c3_Err != nil { 3014 if templ_7745c5c3_Err != nil { 2811 return templ_7745c5c3_Err 3015 return templ_7745c5c3_Err 2812 } 3016 } 2813 - var templ_7745c5c3_Var132 string 3017 + var templ_7745c5c3_Var144 string 2814 - templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.MergeOk)) 3018 + templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.MergeOk)) 2815 if templ_7745c5c3_Err != nil { 3019 if templ_7745c5c3_Err != nil { 2816 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 561, Col: 47} 3020 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 589, Col: 47} 2817 } 3021 } 2818 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var132) 3022 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144) 2819 if templ_7745c5c3_Err != nil { 3023 if templ_7745c5c3_Err != nil { 2820 return templ_7745c5c3_Err 3024 return templ_7745c5c3_Err 2821 } 3025 } 2822 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "\" data-ff-reason=\"" ) 3026 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 286, "\" data-ff-reason=\"" ) 2823 if templ_7745c5c3_Err != nil { 3027 if templ_7745c5c3_Err != nil { 2824 return templ_7745c5c3_Err 3028 return templ_7745c5c3_Err 2825 } 3029 } 2826 - var templ_7745c5c3_Var133 string 3030 + var templ_7745c5c3_Var145 string 2827 - templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.FFReason) 3031 + templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.FFReason) 2828 if templ_7745c5c3_Err != nil { 3032 if templ_7745c5c3_Err != nil { 2829 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 562, Col: 29} 3033 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 590, Col: 29} 2830 } 3034 } 2831 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var133) 3035 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var145) 2832 if templ_7745c5c3_Err != nil { 3036 if templ_7745c5c3_Err != nil { 2833 return templ_7745c5c3_Err 3037 return templ_7745c5c3_Err 2834 } 3038 } 2835 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "\" data-merge-reason=\"" ) 3039 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 287, "\" data-merge-reason=\"" ) 2836 if templ_7745c5c3_Err != nil { 3040 if templ_7745c5c3_Err != nil { 2837 return templ_7745c5c3_Err 3041 return templ_7745c5c3_Err 2838 } 3042 } 2839 - var templ_7745c5c3_Var134 string 3043 + var templ_7745c5c3_Var146 string 2840 - templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.MergeReason) 3044 + templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.MergeReason) 2841 if templ_7745c5c3_Err != nil { 3045 if templ_7745c5c3_Err != nil { 2842 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 563, Col: 35} 3046 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 591, Col: 35} 2843 } 3047 } 2844 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var134) 3048 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var146) 2845 if templ_7745c5c3_Err != nil { 3049 if templ_7745c5c3_Err != nil { 2846 return templ_7745c5c3_Err 3050 return templ_7745c5c3_Err 2847 } 3051 } 2848 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, "\"><span class=\"badge\" data-state=\"" ) 3052 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 288, "\"><span class=\"badge\" data-state=\"" ) 2849 if templ_7745c5c3_Err != nil { 3053 if templ_7745c5c3_Err != nil { 2850 return templ_7745c5c3_Err 3054 return templ_7745c5c3_Err 2851 } 3055 } 2852 - var templ_7745c5c3_Var135 string 3056 + var templ_7745c5c3_Var147 string 2853 - templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) 3057 + templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) 2854 if templ_7745c5c3_Err != nil { 3058 if templ_7745c5c3_Err != nil { 2855 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 565, Col: 42} 3059 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 593, Col: 42} 2856 } 3060 } 2857 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var135) 3061 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var147) 2858 if templ_7745c5c3_Err != nil { 3062 if templ_7745c5c3_Err != nil { 2859 return templ_7745c5c3_Err 3063 return templ_7745c5c3_Err 2860 } 3064 } 2861 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "\">" ) 3065 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 289, "\">" ) 2862 if templ_7745c5c3_Err != nil { 3066 if templ_7745c5c3_Err != nil { 2863 return templ_7745c5c3_Err 3067 return templ_7745c5c3_Err 2864 } 3068 } 2865 - var templ_7745c5c3_Var136 string 3069 + var templ_7745c5c3_Var148 string 2866 - templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) 3070 + templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) 2867 if templ_7745c5c3_Err != nil { 3071 if templ_7745c5c3_Err != nil { 2868 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 565, Col: 54} 3072 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 593, Col: 54} 2869 } 3073 } 2870 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136)) 3074 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var148)) 2871 if templ_7745c5c3_Err != nil { 3075 if templ_7745c5c3_Err != nil { 2872 return templ_7745c5c3_Err 3076 return templ_7745c5c3_Err 2873 } 3077 } 2874 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "</span> " ) 3078 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 290, "</span> " ) 2875 if templ_7745c5c3_Err != nil { 3079 if templ_7745c5c3_Err != nil { 2876 return templ_7745c5c3_Err 3080 return templ_7745c5c3_Err 2877 } 3081 } 2878 if v.Detail != "" { 3082 if v.Detail != "" { 2879 - var templ_7745c5c3_Var137 string 3083 + var templ_7745c5c3_Var149 string 2880 - templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinStringErrs(" " ) 3084 + templ_7745c5c3_Var149, templ_7745c5c3_Err = templ.JoinStringErrs(" " ) 2881 if templ_7745c5c3_Err != nil { 3085 if templ_7745c5c3_Err != nil { 2882 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 567, Col: 8} 3086 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 595, Col: 8} 2883 } 3087 } 2884 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137)) 3088 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var149)) 2885 if templ_7745c5c3_Err != nil { 3089 if templ_7745c5c3_Err != nil { 2886 return templ_7745c5c3_Err 3090 return templ_7745c5c3_Err 2887 } 3091 } 2888 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, "<span class=\"dim\">" ) 3092 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 291, "<span class=\"dim\">" ) 2889 if templ_7745c5c3_Err != nil { 3093 if templ_7745c5c3_Err != nil { 2890 return templ_7745c5c3_Err 3094 return templ_7745c5c3_Err 2891 } 3095 } 2892 - var templ_7745c5c3_Var138 string 3096 + var templ_7745c5c3_Var150 string 2893 - templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(v.Detail) 3097 + templ_7745c5c3_Var150, templ_7745c5c3_Err = templ.JoinStringErrs(v.Detail) 2894 if templ_7745c5c3_Err != nil { 3098 if templ_7745c5c3_Err != nil { 2895 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 567, Col: 38} 3099 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 595, Col: 38} 2896 } 3100 } 2897 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138)) 3101 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var150)) 2898 if templ_7745c5c3_Err != nil { 3102 if templ_7745c5c3_Err != nil { 2899 return templ_7745c5c3_Err 3103 return templ_7745c5c3_Err 2900 } 3104 } 2901 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, "</span>" ) 3105 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 292, "</span>" ) 2902 if templ_7745c5c3_Err != nil { 3106 if templ_7745c5c3_Err != nil { 2903 return templ_7745c5c3_Err 3107 return templ_7745c5c3_Err 2904 } 3108 } 2905 } 3109 } 2906 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, "</span> " ) 3110 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "</span> " ) 2907 if templ_7745c5c3_Err != nil { 3111 if templ_7745c5c3_Err != nil { 2908 return templ_7745c5c3_Err 3112 return templ_7745c5c3_Err 2909 } 3113 } 2910 if len(v.Paths) > 0 { 3114 if len(v.Paths) > 0 { 2911 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, "<ul class=\"mg-paths\" aria-label=\"conflicting files\">" ) 3115 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, "<ul class=\"mg-paths\" aria-label=\"conflicting files\">" ) 2912 if templ_7745c5c3_Err != nil { 3116 if templ_7745c5c3_Err != nil { 2913 return templ_7745c5c3_Err 3117 return templ_7745c5c3_Err 2914 } 3118 } 2915 for _, path := range v.Paths { 3119 for _, path := range v.Paths { 2916 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "<li><code>" ) 3120 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "<li><code>" ) 2917 if templ_7745c5c3_Err != nil { 3121 if templ_7745c5c3_Err != nil { 2918 return templ_7745c5c3_Err 3122 return templ_7745c5c3_Err 2919 } 3123 } 2920 - var templ_7745c5c3_Var139 string 3124 + var templ_7745c5c3_Var151 string 2921 - templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinStringErrs(path) 3125 + templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(path) 2922 if templ_7745c5c3_Err != nil { 3126 if templ_7745c5c3_Err != nil { 2923 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 573, Col: 20} 3127 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 601, Col: 20} 2924 } 3128 } 2925 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139)) 3129 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151)) 2926 if templ_7745c5c3_Err != nil { 3130 if templ_7745c5c3_Err != nil { 2927 return templ_7745c5c3_Err 3131 return templ_7745c5c3_Err 2928 } 3132 } 2929 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, "</code></li>" ) 3133 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "</code></li>" ) 2930 if templ_7745c5c3_Err != nil { 3134 if templ_7745c5c3_Err != nil { 2931 return templ_7745c5c3_Err 3135 return templ_7745c5c3_Err 2932 } 3136 } 2933 } 3137 } 2934 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, "</ul>" ) 3138 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 297, "</ul>" ) 2935 if templ_7745c5c3_Err != nil { 3139 if templ_7745c5c3_Err != nil { 2936 return templ_7745c5c3_Err 3140 return templ_7745c5c3_Err 2937 } 3141 } 2938 } 3142 } 2939 if v.PathsNote != "" { 3143 if v.PathsNote != "" { 2940 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "<p class=\"dim\">" ) 3144 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 298, "<p class=\"dim\">" ) 2941 if templ_7745c5c3_Err != nil { 3145 if templ_7745c5c3_Err != nil { 2942 return templ_7745c5c3_Err 3146 return templ_7745c5c3_Err 2943 } 3147 } 2944 - var templ_7745c5c3_Var140 string 3148 + var templ_7745c5c3_Var152 string 2945 - templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.JoinStringErrs(v.PathsNote) 3149 + templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(v.PathsNote) 2946 if templ_7745c5c3_Err != nil { 3150 if templ_7745c5c3_Err != nil { 2947 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 578, Col: 30} 3151 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 606, Col: 30} 2948 } 3152 } 2949 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var140)) 3153 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) 2950 if templ_7745c5c3_Err != nil { 3154 if templ_7745c5c3_Err != nil { 2951 return templ_7745c5c3_Err 3155 return templ_7745c5c3_Err 2952 } 3156 } 2953 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "</p>" ) 3157 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "</p>" ) 2954 if templ_7745c5c3_Err != nil { 3158 if templ_7745c5c3_Err != nil { 2955 return templ_7745c5c3_Err 3159 return templ_7745c5c3_Err 2956 } 3160 } ⋯ 22 hidden lines@@ -3046,128 +3250,128 @@ func moreMenu(p MRPage) templ.Component { 3046 }() 3250 }() 3047 } 3251 } 3048 ctx = templ.InitializeContext(ctx) 3252 ctx = templ.InitializeContext(ctx) 3049 - templ_7745c5c3_Var143 := templ.GetChildren(ctx) 3253 + templ_7745c5c3_Var155 := templ.GetChildren(ctx) 3050 - if templ_7745c5c3_Var143 == nil { 3254 + if templ_7745c5c3_Var155 == nil { 3051 - templ_7745c5c3_Var143 = templ.NopComponent 3255 + templ_7745c5c3_Var155 = templ.NopComponent 3052 } 3256 } 3053 ctx = templ.ClearChildren(ctx) 3257 ctx = templ.ClearChildren(ctx) 3054 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 281, "<details class=\"menu omenu\"><summary class=\"btn icon\" aria-label=\"More actions\" title=\"more actions\">⋯</summary><div class=\"menu-pop\" role=\"group\" aria-label=\"More actions\"><section class=\"merge-settings\"><h2>Merge settings</h2><dl class=\"kv\"><dt>modes</dt><dd>" ) 3258 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "<details class=\"menu omenu\"><summary class=\"btn icon\" aria-label=\"More actions\" title=\"more actions\">⋯</summary><div class=\"menu-pop\" role=\"group\" aria-label=\"More actions\"><section class=\"merge-settings\"><h2>Merge settings</h2><dl class=\"kv\"><dt>modes</dt><dd>" ) 3055 if templ_7745c5c3_Err != nil { 3259 if templ_7745c5c3_Err != nil { 3056 return templ_7745c5c3_Err 3260 return templ_7745c5c3_Err 3057 } 3261 } 3058 - var templ_7745c5c3_Var144 string 3262 + var templ_7745c5c3_Var156 string 3059 - templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", " )) 3263 + templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", " )) 3060 if templ_7745c5c3_Err != nil { 3264 if templ_7745c5c3_Err != nil { 3061 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 605, Col: 38} 3265 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 633, Col: 38} 3062 } 3266 } 3063 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var144)) 3267 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156)) 3064 if templ_7745c5c3_Err != nil { 3268 if templ_7745c5c3_Err != nil { 3065 return templ_7745c5c3_Err 3269 return templ_7745c5c3_Err 3066 } 3270 } 3067 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 282, "</dd><dt>checks</dt><dd>" ) 3271 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, "</dd><dt>checks</dt><dd>" ) 3068 if templ_7745c5c3_Err != nil { 3272 if templ_7745c5c3_Err != nil { 3069 return templ_7745c5c3_Err 3273 return templ_7745c5c3_Err 3070 } 3274 } 3071 if p.ChecksBlock { 3275 if p.ChecksBlock { 3072 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 283, "failing ones block the merge" ) 3276 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "failing ones block the merge" ) 3073 if templ_7745c5c3_Err != nil { 3277 if templ_7745c5c3_Err != nil { 3074 return templ_7745c5c3_Err 3278 return templ_7745c5c3_Err 3075 } 3279 } 3076 } else { 3280 } else { 3077 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 284, "do not block the merge" ) 3281 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 305, "do not block the merge" ) 3078 if templ_7745c5c3_Err != nil { 3282 if templ_7745c5c3_Err != nil { 3079 return templ_7745c5c3_Err 3283 return templ_7745c5c3_Err 3080 } 3284 } 3081 } 3285 } 3082 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 285, "</dd></dl></section>" ) 3286 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 306, "</dd></dl></section>" ) 3083 if templ_7745c5c3_Err != nil { 3287 if templ_7745c5c3_Err != nil { 3084 return templ_7745c5c3_Err 3288 return templ_7745c5c3_Err 3085 } 3289 } 3086 if p.Box != nil { 3290 if p.Box != nil { 3087 if p.Box.Signed { 3291 if p.Box.Signed { 3088 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 286, "<p class=\"d-note\" id=\"mr-signing\">squash and merge commits are signed with ermite's own key (generated on first start). " ) 3292 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 307, "<p class=\"d-note\" id=\"mr-signing\">squash and merge commits are signed with ermite's own key (generated on first start). " ) 3089 if templ_7745c5c3_Err != nil { 3293 if templ_7745c5c3_Err != nil { 3090 return templ_7745c5c3_Err 3294 return templ_7745c5c3_Err 3091 } 3295 } 3092 if p.Box.Fingerprint != "" { 3296 if p.Box.Fingerprint != "" { 3093 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 287, "fingerprint <code>" ) 3297 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 308, "fingerprint <code>" ) 3094 if templ_7745c5c3_Err != nil { 3298 if templ_7745c5c3_Err != nil { 3095 return templ_7745c5c3_Err 3299 return templ_7745c5c3_Err 3096 } 3300 } 3097 - var templ_7745c5c3_Var145 string 3301 + var templ_7745c5c3_Var157 string 3098 - templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Fingerprint) 3302 + templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Fingerprint) 3099 if templ_7745c5c3_Err != nil { 3303 if templ_7745c5c3_Err != nil { 3100 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 621, Col: 44} 3304 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 649, Col: 44} 3101 } 3305 } 3102 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145)) 3306 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var157)) 3103 if templ_7745c5c3_Err != nil { 3307 if templ_7745c5c3_Err != nil { 3104 return templ_7745c5c3_Err 3308 return templ_7745c5c3_Err 3105 } 3309 } 3106 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 288, "</code> " ) 3310 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 309, "</code> " ) 3107 if templ_7745c5c3_Err != nil { 3311 if templ_7745c5c3_Err != nil { 3108 return templ_7745c5c3_Err 3312 return templ_7745c5c3_Err 3109 } 3313 } 3110 } 3314 } 3111 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 289, "<code>ermite signing-key show</code> prints it.</p>" ) 3315 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 310, "<code>ermite signing-key show</code> prints it.</p>" ) 3112 if templ_7745c5c3_Err != nil { 3316 if templ_7745c5c3_Err != nil { 3113 return templ_7745c5c3_Err 3317 return templ_7745c5c3_Err 3114 } 3318 } 3115 } 3319 } 3116 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 290, " " ) 3320 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 311, " " ) 3117 if templ_7745c5c3_Err != nil { 3321 if templ_7745c5c3_Err != nil { 3118 return templ_7745c5c3_Err 3322 return templ_7745c5c3_Err 3119 } 3323 } 3120 if p.Box.CanMarkRead { 3324 if p.Box.CanMarkRead { 3121 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 291, "<form method=\"post\" action=\"" ) 3325 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 312, "<form method=\"post\" action=\"" ) 3122 if templ_7745c5c3_Err != nil { 3326 if templ_7745c5c3_Err != nil { 3123 return templ_7745c5c3_Err 3327 return templ_7745c5c3_Err 3124 } 3328 } 3125 - var templ_7745c5c3_Var146 templ.SafeURL 3329 + var templ_7745c5c3_Var158 templ.SafeURL 3126 - templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction)) 3330 + templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction)) 3127 if templ_7745c5c3_Err != nil { 3331 if templ_7745c5c3_Err != nil { 3128 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 627, Col: 65} 3332 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 655, Col: 65} 3129 } 3333 } 3130 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146)) 3334 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) 3131 if templ_7745c5c3_Err != nil { 3335 if templ_7745c5c3_Err != nil { 3132 return templ_7745c5c3_Err 3336 return templ_7745c5c3_Err 3133 } 3337 } 3134 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 292, "\"><input type=\"hidden\" name=\"head_id\" value=\"" ) 3338 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 313, "\"><input type=\"hidden\" name=\"head_id\" value=\"" ) 3135 if templ_7745c5c3_Err != nil { 3339 if templ_7745c5c3_Err != nil { 3136 return templ_7745c5c3_Err 3340 return templ_7745c5c3_Err 3137 } 3341 } 3138 - var templ_7745c5c3_Var147 string 3342 + var templ_7745c5c3_Var159 string 3139 - templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) 3343 + templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) 3140 if templ_7745c5c3_Err != nil { 3344 if templ_7745c5c3_Err != nil { 3141 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 628, Col: 60} 3345 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 656, Col: 60} 3142 } 3346 } 3143 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var147) 3347 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var159) 3144 if templ_7745c5c3_Err != nil { 3348 if templ_7745c5c3_Err != nil { 3145 return templ_7745c5c3_Err 3349 return templ_7745c5c3_Err 3146 } 3350 } 3147 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "\"> <button type=\"submit\" title=\"the next visit can show only what changed after this head\" class=\"btn\" aria-keyshortcuts=\"Shift+R\" data-read>Mark read <kbd aria-hidden=\"true\">R</kbd></button></form>" ) 3351 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 314, "\"> <button type=\"submit\" title=\"the next visit can show only what changed after this head\" class=\"btn\" aria-keyshortcuts=\"Shift+R\" data-read>Mark read <kbd aria-hidden=\"true\">R</kbd></button></form>" ) 3148 if templ_7745c5c3_Err != nil { 3352 if templ_7745c5c3_Err != nil { 3149 return templ_7745c5c3_Err 3353 return templ_7745c5c3_Err 3150 } 3354 } 3151 } 3355 } 3152 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, " <form method=\"post\" action=\"" ) 3356 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 315, " <form method=\"post\" action=\"" ) 3153 if templ_7745c5c3_Err != nil { 3357 if templ_7745c5c3_Err != nil { 3154 return templ_7745c5c3_Err 3358 return templ_7745c5c3_Err 3155 } 3359 } 3156 - var templ_7745c5c3_Var148 templ.SafeURL 3360 + var templ_7745c5c3_Var160 templ.SafeURL 3157 - templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction)) 3361 + templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction)) 3158 if templ_7745c5c3_Err != nil { 3362 if templ_7745c5c3_Err != nil { 3159 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 632, Col: 65} 3363 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 660, Col: 65} 3160 } 3364 } 3161 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var148)) 3365 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) 3162 if templ_7745c5c3_Err != nil { 3366 if templ_7745c5c3_Err != nil { 3163 return templ_7745c5c3_Err 3367 return templ_7745c5c3_Err 3164 } 3368 } 3165 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "\"><button type=\"submit\" title=\"close without merging; the branch is kept\" class=\"btn danger\">Close</button></form>" ) 3369 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 316, "\"><button type=\"submit\" title=\"close without merging; the branch is kept\" class=\"btn danger\">Close</button></form>" ) 3166 if templ_7745c5c3_Err != nil { 3370 if templ_7745c5c3_Err != nil { 3167 return templ_7745c5c3_Err 3371 return templ_7745c5c3_Err 3168 } 3372 } 3169 if !p.Box.HeadGone && p.Box.ReadyAction == "" { 3373 if !p.Box.HeadGone && p.Box.ReadyAction == "" { 3170 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "<details class=\"d-or\"><summary class=\"mute\">or from a terminal</summary>" ) 3374 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 317, "<details class=\"d-or\"><summary class=\"mute\">or from a terminal</summary>" ) 3171 if templ_7745c5c3_Err != nil { 3375 if templ_7745c5c3_Err != nil { 3172 return templ_7745c5c3_Err 3376 return templ_7745c5c3_Err 3173 } 3377 } ⋯ 5 hidden lines@@ -3222,263 +3426,263 @@ func Compare(l Layout, p ComparePage) templ.Component { 3222 }() 3426 }() 3223 } 3427 } 3224 ctx = templ.InitializeContext(ctx) 3428 ctx = templ.InitializeContext(ctx) 3225 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "<header class=\"show mr-h\"><h1>" ) 3429 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 320, "<header class=\"show mr-h\"><h1>" ) 3226 if templ_7745c5c3_Err != nil { 3430 if templ_7745c5c3_Err != nil { 3227 return templ_7745c5c3_Err 3431 return templ_7745c5c3_Err 3228 } 3432 } 3229 - var templ_7745c5c3_Var151 string 3433 + var templ_7745c5c3_Var163 string 3230 - templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 3434 + templ_7745c5c3_Var163, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 3231 if templ_7745c5c3_Err != nil { 3435 if templ_7745c5c3_Err != nil { 3232 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 649, Col: 17} 3436 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 677, Col: 17} 3233 } 3437 } 3234 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151)) 3438 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var163)) 3235 if templ_7745c5c3_Err != nil { 3439 if templ_7745c5c3_Err != nil { 3236 return templ_7745c5c3_Err 3440 return templ_7745c5c3_Err 3237 } 3441 } 3238 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 300, " → " ) 3442 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 321, " → " ) 3239 if templ_7745c5c3_Err != nil { 3443 if templ_7745c5c3_Err != nil { 3240 return templ_7745c5c3_Err 3444 return templ_7745c5c3_Err 3241 } 3445 } 3242 - var templ_7745c5c3_Var152 string 3446 + var templ_7745c5c3_Var164 string 3243 - templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3447 + templ_7745c5c3_Var164, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3244 if templ_7745c5c3_Err != nil { 3448 if templ_7745c5c3_Err != nil { 3245 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 649, Col: 34} 3449 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 677, Col: 34} 3246 } 3450 } 3247 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) 3451 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var164)) 3248 if templ_7745c5c3_Err != nil { 3452 if templ_7745c5c3_Err != nil { 3249 return templ_7745c5c3_Err 3453 return templ_7745c5c3_Err 3250 } 3454 } 3251 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 301, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"" ) 3455 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 322, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"" ) 3252 if templ_7745c5c3_Err != nil { 3456 if templ_7745c5c3_Err != nil { 3253 return templ_7745c5c3_Err 3457 return templ_7745c5c3_Err 3254 } 3458 } 3255 - var templ_7745c5c3_Var153 templ.SafeURL 3459 + var templ_7745c5c3_Var165 templ.SafeURL 3256 - templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) 3460 + templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) 3257 if templ_7745c5c3_Err != nil { 3461 if templ_7745c5c3_Err != nil { 3258 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 652, Col: 45} 3462 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 680, Col: 45} 3259 } 3463 } 3260 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153)) 3464 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var165)) 3261 if templ_7745c5c3_Err != nil { 3465 if templ_7745c5c3_Err != nil { 3262 return templ_7745c5c3_Err 3466 return templ_7745c5c3_Err 3263 } 3467 } 3264 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "\">" ) 3468 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 323, "\">" ) 3265 if templ_7745c5c3_Err != nil { 3469 if templ_7745c5c3_Err != nil { 3266 return templ_7745c5c3_Err 3470 return templ_7745c5c3_Err 3267 } 3471 } 3268 - var templ_7745c5c3_Var154 string 3472 + var templ_7745c5c3_Var166 string 3269 - templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 3473 + templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 3270 if templ_7745c5c3_Err != nil { 3474 if templ_7745c5c3_Err != nil { 3271 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 652, Col: 58} 3475 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 680, Col: 58} 3272 } 3476 } 3273 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154)) 3477 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166)) 3274 if templ_7745c5c3_Err != nil { 3478 if templ_7745c5c3_Err != nil { 3275 return templ_7745c5c3_Err 3479 return templ_7745c5c3_Err 3276 } 3480 } 3277 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, "</a></dd><dt>target</dt><dd><a href=\"" ) 3481 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 324, "</a></dd><dt>target</dt><dd><a href=\"" ) 3278 if templ_7745c5c3_Err != nil { 3482 if templ_7745c5c3_Err != nil { 3279 return templ_7745c5c3_Err 3483 return templ_7745c5c3_Err 3280 } 3484 } 3281 - var templ_7745c5c3_Var155 templ.SafeURL 3485 + var templ_7745c5c3_Var167 templ.SafeURL 3282 - templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) 3486 + templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) 3283 if templ_7745c5c3_Err != nil { 3487 if templ_7745c5c3_Err != nil { 3284 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 654, Col: 45} 3488 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 682, Col: 45} 3285 } 3489 } 3286 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155)) 3490 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167)) 3287 if templ_7745c5c3_Err != nil { 3491 if templ_7745c5c3_Err != nil { 3288 return templ_7745c5c3_Err 3492 return templ_7745c5c3_Err 3289 } 3493 } 3290 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "\">" ) 3494 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 325, "\">" ) 3291 if templ_7745c5c3_Err != nil { 3495 if templ_7745c5c3_Err != nil { 3292 return templ_7745c5c3_Err 3496 return templ_7745c5c3_Err 3293 } 3497 } 3294 - var templ_7745c5c3_Var156 string 3498 + var templ_7745c5c3_Var168 string 3295 - templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3499 + templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3296 if templ_7745c5c3_Err != nil { 3500 if templ_7745c5c3_Err != nil { 3297 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 654, Col: 58} 3501 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 682, Col: 58} 3298 } 3502 } 3299 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156)) 3503 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var168)) 3300 if templ_7745c5c3_Err != nil { 3504 if templ_7745c5c3_Err != nil { 3301 return templ_7745c5c3_Err 3505 return templ_7745c5c3_Err 3302 } 3506 } 3303 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 305, "</a></dd><dt>ahead</dt><dd>" ) 3507 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 326, "</a></dd><dt>ahead</dt><dd>" ) 3304 if templ_7745c5c3_Err != nil { 3508 if templ_7745c5c3_Err != nil { 3305 return templ_7745c5c3_Err 3509 return templ_7745c5c3_Err 3306 } 3510 } 3307 - var templ_7745c5c3_Var157 string 3511 + var templ_7745c5c3_Var169 string 3308 - templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) 3512 + templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) 3309 if templ_7745c5c3_Err != nil { 3513 if templ_7745c5c3_Err != nil { 3310 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 656, Col: 21} 3514 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 684, Col: 21} 3311 } 3515 } 3312 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var157)) 3516 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var169)) 3313 if templ_7745c5c3_Err != nil { 3517 if templ_7745c5c3_Err != nil { 3314 return templ_7745c5c3_Err 3518 return templ_7745c5c3_Err 3315 } 3519 } 3316 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 306, "</dd></dl></header>" ) 3520 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 327, "</dd></dl></header>" ) 3317 if templ_7745c5c3_Err != nil { 3521 if templ_7745c5c3_Err != nil { 3318 return templ_7745c5c3_Err 3522 return templ_7745c5c3_Err 3319 } 3523 } 3320 if p.Note != "" { 3524 if p.Note != "" { 3321 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 307, "<p class=\"notice\">" ) 3525 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 328, "<p class=\"notice\">" ) 3322 if templ_7745c5c3_Err != nil { 3526 if templ_7745c5c3_Err != nil { 3323 return templ_7745c5c3_Err 3527 return templ_7745c5c3_Err 3324 } 3528 } 3325 - var templ_7745c5c3_Var158 string 3529 + var templ_7745c5c3_Var170 string 3326 - templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) 3530 + templ_7745c5c3_Var170, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) 3327 if templ_7745c5c3_Err != nil { 3531 if templ_7745c5c3_Err != nil { 3328 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 660, Col: 29} 3532 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 688, Col: 29} 3329 } 3533 } 3330 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) 3534 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var170)) 3331 if templ_7745c5c3_Err != nil { 3535 if templ_7745c5c3_Err != nil { 3332 return templ_7745c5c3_Err 3536 return templ_7745c5c3_Err 3333 } 3537 } 3334 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 308, "</p>" ) 3538 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 329, "</p>" ) 3335 if templ_7745c5c3_Err != nil { 3539 if templ_7745c5c3_Err != nil { 3336 return templ_7745c5c3_Err 3540 return templ_7745c5c3_Err 3337 } 3541 } 3338 } 3542 } 3339 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 309, " " ) 3543 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 330, " " ) 3340 if templ_7745c5c3_Err != nil { 3544 if templ_7745c5c3_Err != nil { 3341 return templ_7745c5c3_Err 3545 return templ_7745c5c3_Err 3342 } 3546 } 3343 if p.Existing != nil { 3547 if p.Existing != nil { 3344 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 310, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"" ) 3548 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 331, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"" ) 3345 if templ_7745c5c3_Err != nil { 3549 if templ_7745c5c3_Err != nil { 3346 return templ_7745c5c3_Err 3550 return templ_7745c5c3_Err 3347 } 3551 } 3348 - var templ_7745c5c3_Var159 templ.SafeURL 3552 + var templ_7745c5c3_Var171 templ.SafeURL 3349 - templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) 3553 + templ_7745c5c3_Var171, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) 3350 if templ_7745c5c3_Err != nil { 3554 if templ_7745c5c3_Err != nil { 3351 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 663, Col: 114} 3555 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 691, Col: 114} 3352 } 3556 } 3353 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159)) 3557 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var171)) 3354 if templ_7745c5c3_Err != nil { 3558 if templ_7745c5c3_Err != nil { 3355 return templ_7745c5c3_Err 3559 return templ_7745c5c3_Err 3356 } 3560 } 3357 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 311, "\">" ) 3561 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 332, "\">" ) 3358 if templ_7745c5c3_Err != nil { 3562 if templ_7745c5c3_Err != nil { 3359 return templ_7745c5c3_Err 3563 return templ_7745c5c3_Err 3360 } 3564 } 3361 - var templ_7745c5c3_Var160 string 3565 + var templ_7745c5c3_Var172 string 3362 - templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) 3566 + templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) 3363 if templ_7745c5c3_Err != nil { 3567 if templ_7745c5c3_Err != nil { 3364 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 663, Col: 135} 3568 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 691, Col: 135} 3365 } 3569 } 3366 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) 3570 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172)) 3367 if templ_7745c5c3_Err != nil { 3571 if templ_7745c5c3_Err != nil { 3368 return templ_7745c5c3_Err 3572 return templ_7745c5c3_Err 3369 } 3573 } 3370 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 312, "</a></p>" ) 3574 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 333, "</a></p>" ) 3371 if templ_7745c5c3_Err != nil { 3575 if templ_7745c5c3_Err != nil { 3372 return templ_7745c5c3_Err 3576 return templ_7745c5c3_Err 3373 } 3577 } 3374 } 3578 } 3375 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 313, " " ) 3579 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 334, " " ) 3376 if templ_7745c5c3_Err != nil { 3580 if templ_7745c5c3_Err != nil { 3377 return templ_7745c5c3_Err 3581 return templ_7745c5c3_Err 3378 } 3582 } 3379 if p.Create != nil { 3583 if p.Create != nil { 3380 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 314, "<form class=\"cform create\" method=\"post\" action=\"" ) 3584 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 335, "<form class=\"cform create\" method=\"post\" action=\"" ) 3381 if templ_7745c5c3_Err != nil { 3585 if templ_7745c5c3_Err != nil { 3382 return templ_7745c5c3_Err 3586 return templ_7745c5c3_Err 3383 } 3587 } 3384 - var templ_7745c5c3_Var161 templ.SafeURL 3588 + var templ_7745c5c3_Var173 templ.SafeURL 3385 - templ_7745c5c3_Var161, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) 3589 + templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) 3386 if templ_7745c5c3_Err != nil { 3590 if templ_7745c5c3_Err != nil { 3387 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 666, Col: 83} 3591 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 694, Col: 83} 3388 } 3592 } 3389 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var161)) 3593 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173)) 3390 if templ_7745c5c3_Err != nil { 3594 if templ_7745c5c3_Err != nil { 3391 return templ_7745c5c3_Err 3595 return templ_7745c5c3_Err 3392 } 3596 } 3393 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 315, "\"><input type=\"hidden\" name=\"source\" value=\"" ) 3597 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 336, "\"><input type=\"hidden\" name=\"source\" value=\"" ) 3394 if templ_7745c5c3_Err != nil { 3598 if templ_7745c5c3_Err != nil { 3395 return templ_7745c5c3_Err 3599 return templ_7745c5c3_Err 3396 } 3600 } 3397 - var templ_7745c5c3_Var162 string 3601 + var templ_7745c5c3_Var174 string 3398 - templ_7745c5c3_Var162, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) 3602 + templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) 3399 if templ_7745c5c3_Err != nil { 3603 if templ_7745c5c3_Err != nil { 3400 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 667, Col: 62} 3604 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 695, Col: 62} 3401 } 3605 } 3402 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var162) 3606 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var174) 3403 if templ_7745c5c3_Err != nil { 3607 if templ_7745c5c3_Err != nil { 3404 return templ_7745c5c3_Err 3608 return templ_7745c5c3_Err 3405 } 3609 } 3406 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 316, "\"> <input type=\"hidden\" name=\"target\" value=\"" ) 3610 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 337, "\"> <input type=\"hidden\" name=\"target\" value=\"" ) 3407 if templ_7745c5c3_Err != nil { 3611 if templ_7745c5c3_Err != nil { 3408 return templ_7745c5c3_Err 3612 return templ_7745c5c3_Err 3409 } 3613 } 3410 - var templ_7745c5c3_Var163 string 3614 + var templ_7745c5c3_Var175 string 3411 - templ_7745c5c3_Var163, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) 3615 + templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) 3412 if templ_7745c5c3_Err != nil { 3616 if templ_7745c5c3_Err != nil { 3413 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 668, Col: 62} 3617 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 696, Col: 62} 3414 } 3618 } 3415 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var163) 3619 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var175) 3416 if templ_7745c5c3_Err != nil { 3620 if templ_7745c5c3_Err != nil { 3417 return templ_7745c5c3_Err 3621 return templ_7745c5c3_Err 3418 } 3622 } 3419 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 317, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"" ) 3623 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 338, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"" ) 3420 if templ_7745c5c3_Err != nil { 3624 if templ_7745c5c3_Err != nil { 3421 return templ_7745c5c3_Err 3625 return templ_7745c5c3_Err 3422 } 3626 } 3423 - var templ_7745c5c3_Var164 string 3627 + var templ_7745c5c3_Var176 string 3424 - templ_7745c5c3_Var164, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) 3628 + templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) 3425 if templ_7745c5c3_Err != nil { 3629 if templ_7745c5c3_Err != nil { 3426 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 670, Col: 97} 3630 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 698, Col: 97} 3427 } 3631 } 3428 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var164) 3632 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var176) 3429 if templ_7745c5c3_Err != nil { 3633 if templ_7745c5c3_Err != nil { 3430 return templ_7745c5c3_Err 3634 return templ_7745c5c3_Err 3431 } 3635 } 3432 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 318, "\" autocomplete=\"off\"> <label for=\"mr-desc\">description</label> <textarea id=\"mr-desc\" name=\"description\" rows=\"4\" maxlength=\"8000\" placeholder=\"Markdown, optional\"></textarea><div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Create merge request</button></div></form>" ) 3636 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 339, "\" autocomplete=\"off\"> <label for=\"mr-desc\">description</label> <textarea id=\"mr-desc\" name=\"description\" rows=\"4\" maxlength=\"8000\" placeholder=\"Markdown, optional\"></textarea><div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Create merge request</button></div></form>" ) 3433 if templ_7745c5c3_Err != nil { 3637 if templ_7745c5c3_Err != nil { 3434 return templ_7745c5c3_Err 3638 return templ_7745c5c3_Err 3435 } 3639 } 3436 } 3640 } 3437 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 319, " " ) 3641 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 340, " " ) 3438 if templ_7745c5c3_Err != nil { 3642 if templ_7745c5c3_Err != nil { 3439 return templ_7745c5c3_Err 3643 return templ_7745c5c3_Err 3440 } 3644 } 3441 if p.HasDiff { 3645 if p.HasDiff { 3442 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 320, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">" ) 3646 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 341, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">" ) 3443 if templ_7745c5c3_Err != nil { 3647 if templ_7745c5c3_Err != nil { 3444 return templ_7745c5c3_Err 3648 return templ_7745c5c3_Err 3445 } 3649 } 3446 - var templ_7745c5c3_Var165 string 3650 + var templ_7745c5c3_Var177 string 3447 - templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file" , "files" )) 3651 + templ_7745c5c3_Var177, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file" , "files" )) 3448 if templ_7745c5c3_Err != nil { 3652 if templ_7745c5c3_Err != nil { 3449 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 680, Col: 57} 3653 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 708, Col: 57} 3450 } 3654 } 3451 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var165)) 3655 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var177)) 3452 if templ_7745c5c3_Err != nil { 3656 if templ_7745c5c3_Err != nil { 3453 return templ_7745c5c3_Err 3657 return templ_7745c5c3_Err 3454 } 3658 } 3455 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 321, " · <span class=\"plus\">+" ) 3659 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 342, " · <span class=\"plus\">+" ) 3456 if templ_7745c5c3_Err != nil { 3660 if templ_7745c5c3_Err != nil { 3457 return templ_7745c5c3_Err 3661 return templ_7745c5c3_Err 3458 } 3662 } 3459 - var templ_7745c5c3_Var166 string 3663 + var templ_7745c5c3_Var178 string 3460 - templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) 3664 + templ_7745c5c3_Var178, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) 3461 if templ_7745c5c3_Err != nil { 3665 if templ_7745c5c3_Err != nil { 3462 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 680, Col: 97} 3666 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 708, Col: 97} 3463 } 3667 } 3464 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166)) 3668 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var178)) 3465 if templ_7745c5c3_Err != nil { 3669 if templ_7745c5c3_Err != nil { 3466 return templ_7745c5c3_Err 3670 return templ_7745c5c3_Err 3467 } 3671 } 3468 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 322, "</span> <span class=\"minus\">-" ) 3672 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 343, "</span> <span class=\"minus\">-" ) 3469 if templ_7745c5c3_Err != nil { 3673 if templ_7745c5c3_Err != nil { 3470 return templ_7745c5c3_Err 3674 return templ_7745c5c3_Err 3471 } 3675 } 3472 - var templ_7745c5c3_Var167 string 3676 + var templ_7745c5c3_Var179 string 3473 - templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) 3677 + templ_7745c5c3_Var179, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) 3474 if templ_7745c5c3_Err != nil { 3678 if templ_7745c5c3_Err != nil { 3475 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 680, Col: 142} 3679 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 708, Col: 142} 3476 } 3680 } 3477 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167)) 3681 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var179)) 3478 if templ_7745c5c3_Err != nil { 3682 if templ_7745c5c3_Err != nil { 3479 return templ_7745c5c3_Err 3683 return templ_7745c5c3_Err 3480 } 3684 } 3481 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 323, "</span></span> <span class=\"grow\"></span>" ) 3685 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 344, "</span></span> <span class=\"grow\"></span>" ) 3482 if templ_7745c5c3_Err != nil { 3686 if templ_7745c5c3_Err != nil { 3483 return templ_7745c5c3_Err 3687 return templ_7745c5c3_Err 3484 } 3688 } ⋯ 1 hidden line@@ -3486,64 +3690,64 @@ func Compare(l Layout, p ComparePage) templ.Component { 3486 if templ_7745c5c3_Err != nil { 3690 if templ_7745c5c3_Err != nil { 3487 return templ_7745c5c3_Err 3691 return templ_7745c5c3_Err 3488 } 3692 } 3489 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 324, "</div>" ) 3693 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 345, "</div>" ) 3490 if templ_7745c5c3_Err != nil { 3694 if templ_7745c5c3_Err != nil { 3491 return templ_7745c5c3_Err 3695 return templ_7745c5c3_Err 3492 } 3696 } 3493 if p.Invisible { 3697 if p.Invisible { 3494 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 325, "<p class=\"notice\">this diff holds invisible characters (direction controls, zero-width characters). They are shown as <span class=\"inv\"><U+XXXX></span> markers, never applied.</p>" ) 3698 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 346, "<p class=\"notice\">this diff holds invisible characters (direction controls, zero-width characters). They are shown as <span class=\"inv\"><U+XXXX></span> markers, never applied.</p>" ) 3495 if templ_7745c5c3_Err != nil { 3699 if templ_7745c5c3_Err != nil { 3496 return templ_7745c5c3_Err 3700 return templ_7745c5c3_Err 3497 } 3701 } 3498 } 3702 } 3499 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 326, " <div id=\"diffs\"" ) 3703 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 347, " <div id=\"diffs\"" ) 3500 if templ_7745c5c3_Err != nil { 3704 if templ_7745c5c3_Err != nil { 3501 return templ_7745c5c3_Err 3705 return templ_7745c5c3_Err 3502 } 3706 } 3503 if p.Both { 3707 if p.Both { 3504 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 327, " data-diff=\"" ) 3708 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 348, " data-diff=\"" ) 3505 if templ_7745c5c3_Err != nil { 3709 if templ_7745c5c3_Err != nil { 3506 return templ_7745c5c3_Err 3710 return templ_7745c5c3_Err 3507 } 3711 } 3508 - var templ_7745c5c3_Var168 string 3712 + var templ_7745c5c3_Var180 string 3509 - templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 3713 + templ_7745c5c3_Var180, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 3510 if templ_7745c5c3_Err != nil { 3714 if templ_7745c5c3_Err != nil { 3511 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 693, Col: 23} 3715 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 721, Col: 23} 3512 } 3716 } 3513 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var168) 3717 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var180) 3514 if templ_7745c5c3_Err != nil { 3718 if templ_7745c5c3_Err != nil { 3515 return templ_7745c5c3_Err 3719 return templ_7745c5c3_Err 3516 } 3720 } 3517 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 328, "\"" ) 3721 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 349, "\"" ) 3518 if templ_7745c5c3_Err != nil { 3722 if templ_7745c5c3_Err != nil { 3519 return templ_7745c5c3_Err 3723 return templ_7745c5c3_Err 3520 } 3724 } 3521 } else { 3725 } else { 3522 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 329, " data-view=\"" ) 3726 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 350, " data-view=\"" ) 3523 if templ_7745c5c3_Err != nil { 3727 if templ_7745c5c3_Err != nil { 3524 return templ_7745c5c3_Err 3728 return templ_7745c5c3_Err 3525 } 3729 } 3526 - var templ_7745c5c3_Var169 string 3730 + var templ_7745c5c3_Var181 string 3527 - templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 3731 + templ_7745c5c3_Var181, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 3528 if templ_7745c5c3_Err != nil { 3732 if templ_7745c5c3_Err != nil { 3529 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 695, Col: 23} 3733 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 723, Col: 23} 3530 } 3734 } 3531 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var169) 3735 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var181) 3532 if templ_7745c5c3_Err != nil { 3736 if templ_7745c5c3_Err != nil { 3533 return templ_7745c5c3_Err 3737 return templ_7745c5c3_Err 3534 } 3738 } 3535 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 330, "\"" ) 3739 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 351, "\"" ) 3536 if templ_7745c5c3_Err != nil { 3740 if templ_7745c5c3_Err != nil { 3537 return templ_7745c5c3_Err 3741 return templ_7745c5c3_Err 3538 } 3742 } 3539 } 3743 } 3540 if p.Both && !p.Pinned { 3744 if p.Both && !p.Pinned { 3541 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 331, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"" ) 3745 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 352, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"" ) 3542 if templ_7745c5c3_Err != nil { 3746 if templ_7745c5c3_Err != nil { 3543 return templ_7745c5c3_Err 3747 return templ_7745c5c3_Err 3544 } 3748 } 3545 } 3749 } 3546 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 332, ">" ) 3750 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 353, ">" ) 3547 if templ_7745c5c3_Err != nil { 3751 if templ_7745c5c3_Err != nil { 3548 return templ_7745c5c3_Err 3752 return templ_7745c5c3_Err 3549 } 3753 } ⋯ 17 hidden lines@@ -3584,173 +3788,173 @@ func compareRail(p ComparePage) templ.Component { 3584 }() 3788 }() 3585 } 3789 } 3586 ctx = templ.InitializeContext(ctx) 3790 ctx = templ.InitializeContext(ctx) 3587 - templ_7745c5c3_Var170 := templ.GetChildren(ctx) 3791 + templ_7745c5c3_Var182 := templ.GetChildren(ctx) 3588 - if templ_7745c5c3_Var170 == nil { 3792 + if templ_7745c5c3_Var182 == nil { 3589 - templ_7745c5c3_Var170 = templ.NopComponent 3793 + templ_7745c5c3_Var182 = templ.NopComponent 3590 } 3794 } 3591 ctx = templ.ClearChildren(ctx) 3795 ctx = templ.ClearChildren(ctx) 3592 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 334, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">" ) 3796 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 355, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">" ) 3593 if templ_7745c5c3_Err != nil { 3797 if templ_7745c5c3_Err != nil { 3594 return templ_7745c5c3_Err 3798 return templ_7745c5c3_Err 3595 } 3799 } 3596 - var templ_7745c5c3_Var171 string 3800 + var templ_7745c5c3_Var183 string 3597 - templ_7745c5c3_Var171, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) 3801 + templ_7745c5c3_Var183, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) 3598 if templ_7745c5c3_Err != nil { 3802 if templ_7745c5c3_Err != nil { 3599 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 711, Col: 67} 3803 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 739, Col: 67} 3600 } 3804 } 3601 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var171)) 3805 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var183)) 3602 if templ_7745c5c3_Err != nil { 3806 if templ_7745c5c3_Err != nil { 3603 return templ_7745c5c3_Err 3807 return templ_7745c5c3_Err 3604 } 3808 } 3605 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 335, "</span></h2><ul class=\"pcommits\">" ) 3809 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 356, "</span></h2><ul class=\"pcommits\">" ) 3606 if templ_7745c5c3_Err != nil { 3810 if templ_7745c5c3_Err != nil { 3607 return templ_7745c5c3_Err 3811 return templ_7745c5c3_Err 3608 } 3812 } 3609 for _, c := range p.Ahead { 3813 for _, c := range p.Ahead { 3610 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 336, "<li><a href=\"" ) 3814 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 357, "<li><a href=\"" ) 3611 if templ_7745c5c3_Err != nil { 3815 if templ_7745c5c3_Err != nil { 3612 return templ_7745c5c3_Err 3816 return templ_7745c5c3_Err 3613 } 3817 } 3614 - var templ_7745c5c3_Var172 templ.SafeURL 3818 + var templ_7745c5c3_Var184 templ.SafeURL 3615 - templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) 3819 + templ_7745c5c3_Var184, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) 3616 if templ_7745c5c3_Err != nil { 3820 if templ_7745c5c3_Err != nil { 3617 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 715, Col: 37} 3821 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 743, Col: 37} 3618 } 3822 } 3619 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172)) 3823 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var184)) 3620 if templ_7745c5c3_Err != nil { 3824 if templ_7745c5c3_Err != nil { 3621 return templ_7745c5c3_Err 3825 return templ_7745c5c3_Err 3622 } 3826 } 3623 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 337, "\">" ) 3827 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 358, "\">" ) 3624 if templ_7745c5c3_Err != nil { 3828 if templ_7745c5c3_Err != nil { 3625 return templ_7745c5c3_Err 3829 return templ_7745c5c3_Err 3626 } 3830 } 3627 - var templ_7745c5c3_Var173 string 3831 + var templ_7745c5c3_Var185 string 3628 - templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) 3832 + templ_7745c5c3_Var185, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) 3629 if templ_7745c5c3_Err != nil { 3833 if templ_7745c5c3_Err != nil { 3630 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 715, Col: 49} 3834 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 743, Col: 49} 3631 } 3835 } 3632 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173)) 3836 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var185)) 3633 if templ_7745c5c3_Err != nil { 3837 if templ_7745c5c3_Err != nil { 3634 return templ_7745c5c3_Err 3838 return templ_7745c5c3_Err 3635 } 3839 } 3636 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 338, "</a> <span class=\"s\">" ) 3840 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 359, "</a> <span class=\"s\">" ) 3637 if templ_7745c5c3_Err != nil { 3841 if templ_7745c5c3_Err != nil { 3638 return templ_7745c5c3_Err 3842 return templ_7745c5c3_Err 3639 } 3843 } 3640 - var templ_7745c5c3_Var174 string 3844 + var templ_7745c5c3_Var186 string 3641 - templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) 3845 + templ_7745c5c3_Var186, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) 3642 if templ_7745c5c3_Err != nil { 3846 if templ_7745c5c3_Err != nil { 3643 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 716, Col: 32} 3847 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 744, Col: 32} 3644 } 3848 } 3645 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var174)) 3849 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var186)) 3646 if templ_7745c5c3_Err != nil { 3850 if templ_7745c5c3_Err != nil { 3647 return templ_7745c5c3_Err 3851 return templ_7745c5c3_Err 3648 } 3852 } 3649 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 339, "</span> <span class=\"mute\">" ) 3853 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 360, "</span> <span class=\"mute\">" ) 3650 if templ_7745c5c3_Err != nil { 3854 if templ_7745c5c3_Err != nil { 3651 return templ_7745c5c3_Err 3855 return templ_7745c5c3_Err 3652 } 3856 } 3653 - var templ_7745c5c3_Var175 string 3857 + var templ_7745c5c3_Var187 string 3654 - templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 3858 + templ_7745c5c3_Var187, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 3655 if templ_7745c5c3_Err != nil { 3859 if templ_7745c5c3_Err != nil { 3656 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 718, Col: 16} 3860 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 746, Col: 16} 3657 } 3861 } 3658 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var175)) 3862 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var187)) 3659 if templ_7745c5c3_Err != nil { 3863 if templ_7745c5c3_Err != nil { 3660 return templ_7745c5c3_Err 3864 return templ_7745c5c3_Err 3661 } 3865 } 3662 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 340, " " ) 3866 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 361, " " ) 3663 if templ_7745c5c3_Err != nil { 3867 if templ_7745c5c3_Err != nil { 3664 return templ_7745c5c3_Err 3868 return templ_7745c5c3_Err 3665 } 3869 } 3666 if c.WhenAt != "" { 3870 if c.WhenAt != "" { 3667 - var templ_7745c5c3_Var176 string 3871 + var templ_7745c5c3_Var188 string 3668 - templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.JoinStringErrs(" · " ) 3872 + templ_7745c5c3_Var188, templ_7745c5c3_Err = templ.JoinStringErrs(" · " ) 3669 if templ_7745c5c3_Err != nil { 3873 if templ_7745c5c3_Err != nil { 3670 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 720, Col: 15} 3874 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 748, Col: 15} 3671 } 3875 } 3672 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var176)) 3876 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var188)) 3673 if templ_7745c5c3_Err != nil { 3877 if templ_7745c5c3_Err != nil { 3674 return templ_7745c5c3_Err 3878 return templ_7745c5c3_Err 3675 } 3879 } 3676 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 341, "<time datetime=\"" ) 3880 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 362, "<time datetime=\"" ) 3677 if templ_7745c5c3_Err != nil { 3881 if templ_7745c5c3_Err != nil { 3678 return templ_7745c5c3_Err 3882 return templ_7745c5c3_Err 3679 } 3883 } 3680 - var templ_7745c5c3_Var177 string 3884 + var templ_7745c5c3_Var189 string 3681 - templ_7745c5c3_Var177, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 3885 + templ_7745c5c3_Var189, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 3682 if templ_7745c5c3_Err != nil { 3886 if templ_7745c5c3_Err != nil { 3683 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 720, Col: 42} 3887 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 748, Col: 42} 3684 } 3888 } 3685 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var177) 3889 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var189) 3686 if templ_7745c5c3_Err != nil { 3890 if templ_7745c5c3_Err != nil { 3687 return templ_7745c5c3_Err 3891 return templ_7745c5c3_Err 3688 } 3892 } 3689 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 342, "\">" ) 3893 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 363, "\">" ) 3690 if templ_7745c5c3_Err != nil { 3894 if templ_7745c5c3_Err != nil { 3691 return templ_7745c5c3_Err 3895 return templ_7745c5c3_Err 3692 } 3896 } 3693 - var templ_7745c5c3_Var178 string 3897 + var templ_7745c5c3_Var190 string 3694 - templ_7745c5c3_Var178, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 3898 + templ_7745c5c3_Var190, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 3695 if templ_7745c5c3_Err != nil { 3899 if templ_7745c5c3_Err != nil { 3696 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 720, Col: 53} 3900 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 748, Col: 53} 3697 } 3901 } 3698 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var178)) 3902 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var190)) 3699 if templ_7745c5c3_Err != nil { 3903 if templ_7745c5c3_Err != nil { 3700 return templ_7745c5c3_Err 3904 return templ_7745c5c3_Err 3701 } 3905 } 3702 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 343, "</time>" ) 3906 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 364, "</time>" ) 3703 if templ_7745c5c3_Err != nil { 3907 if templ_7745c5c3_Err != nil { 3704 return templ_7745c5c3_Err 3908 return templ_7745c5c3_Err 3705 } 3909 } 3706 } 3910 } 3707 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 344, "</span></li>" ) 3911 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 365, "</span></li>" ) 3708 if templ_7745c5c3_Err != nil { 3912 if templ_7745c5c3_Err != nil { 3709 return templ_7745c5c3_Err 3913 return templ_7745c5c3_Err 3710 } 3914 } 3711 } 3915 } 3712 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 345, "</ul>" ) 3916 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 366, "</ul>" ) 3713 if templ_7745c5c3_Err != nil { 3917 if templ_7745c5c3_Err != nil { 3714 return templ_7745c5c3_Err 3918 return templ_7745c5c3_Err 3715 } 3919 } 3716 if len(p.Ahead) == 0 { 3920 if len(p.Ahead) == 0 { 3717 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 346, "<p class=\"dim\">no commit ahead of " ) 3921 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 367, "<p class=\"dim\">no commit ahead of " ) 3718 if templ_7745c5c3_Err != nil { 3922 if templ_7745c5c3_Err != nil { 3719 return templ_7745c5c3_Err 3923 return templ_7745c5c3_Err 3720 } 3924 } 3721 - var templ_7745c5c3_Var179 string 3925 + var templ_7745c5c3_Var191 string 3722 - templ_7745c5c3_Var179, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3926 + templ_7745c5c3_Var191, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3723 if templ_7745c5c3_Err != nil { 3927 if templ_7745c5c3_Err != nil { 3724 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 727, Col: 47} 3928 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 755, Col: 47} 3725 } 3929 } 3726 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var179)) 3930 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var191)) 3727 if templ_7745c5c3_Err != nil { 3931 if templ_7745c5c3_Err != nil { 3728 return templ_7745c5c3_Err 3932 return templ_7745c5c3_Err 3729 } 3933 } 3730 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 347, ".</p>" ) 3934 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 368, ".</p>" ) 3731 if templ_7745c5c3_Err != nil { 3935 if templ_7745c5c3_Err != nil { 3732 return templ_7745c5c3_Err 3936 return templ_7745c5c3_Err 3733 } 3937 } 3734 } 3938 } 3735 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 348, "</section>" ) 3939 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 369, "</section>" ) 3736 if templ_7745c5c3_Err != nil { 3940 if templ_7745c5c3_Err != nil { 3737 return templ_7745c5c3_Err 3941 return templ_7745c5c3_Err 3738 } 3942 } 3739 if p.HasDiff { 3943 if p.HasDiff { 3740 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 349, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">" ) 3944 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 370, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">" ) 3741 if templ_7745c5c3_Err != nil { 3945 if templ_7745c5c3_Err != nil { 3742 return templ_7745c5c3_Err 3946 return templ_7745c5c3_Err 3743 } 3947 } 3744 - var templ_7745c5c3_Var180 string 3948 + var templ_7745c5c3_Var192 string 3745 - templ_7745c5c3_Var180, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) 3949 + templ_7745c5c3_Var192, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) 3746 if templ_7745c5c3_Err != nil { 3950 if templ_7745c5c3_Err != nil { 3747 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 732, Col: 66} 3951 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ` , Line: 760, Col: 66} 3748 } 3952 } 3749 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var180)) 3953 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var192)) 3750 if templ_7745c5c3_Err != nil { 3954 if templ_7745c5c3_Err != nil { 3751 return templ_7745c5c3_Err 3955 return templ_7745c5c3_Err 3752 } 3956 } 3753 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 350, "</span></h2>" ) 3957 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 371, "</span></h2>" ) 3754 if templ_7745c5c3_Err != nil { 3958 if templ_7745c5c3_Err != nil { 3755 return templ_7745c5c3_Err 3959 return templ_7745c5c3_Err 3756 } 3960 }