⋯ 26 hidden lines@@ -809,129 +812,175 @@ func MergeRequest(l Layout, p MRPage) templ.Component { 809 812 if templ_7745c5c3_Err != nil { 810 813 return templ_7745c5c3_Err 811 814 } 815 + if p.Deleting != "" { 816 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "<p class=\"note\" role=\"status\">merged. the branch ") 817 + if templ_7745c5c3_Err != nil { 818 + return templ_7745c5c3_Err 819 + } 820 + var templ_7745c5c3_Var42 string 821 + templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(p.Deleting) 822 + if templ_7745c5c3_Err != nil { 823 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 152, Col: 64} 824 + } 825 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) 826 + if templ_7745c5c3_Err != nil { 827 + return templ_7745c5c3_Err 828 + } 829 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, " is being deleted.</p>") 830 + if templ_7745c5c3_Err != nil { 831 + return templ_7745c5c3_Err 832 + } 833 + } 834 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, " ") 835 + if templ_7745c5c3_Err != nil { 836 + return templ_7745c5c3_Err 837 + } 838 + if p.MergeError != "" { 839 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, "<p class=\"d-err\" role=\"alert\">") 840 + if templ_7745c5c3_Err != nil { 841 + return templ_7745c5c3_Err 842 + } 843 + var templ_7745c5c3_Var43 string 844 + templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergeError) 845 + if templ_7745c5c3_Err != nil { 846 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 155, Col: 47} 847 + } 848 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) 849 + if templ_7745c5c3_Err != nil { 850 + return templ_7745c5c3_Err 851 + } 852 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, "</p>") 853 + if templ_7745c5c3_Err != nil { 854 + return templ_7745c5c3_Err 855 + } 856 + } 857 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, " ") 858 + if templ_7745c5c3_Err != nil { 859 + return templ_7745c5c3_Err 860 + } 812 861 templ_7745c5c3_Err = LiveSlot("mr-notice").Render(ctx, templ_7745c5c3_Buffer) 813 862 if templ_7745c5c3_Err != nil { 814 863 return templ_7745c5c3_Err 815 864 } 816 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, " ") 865 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, " ") 817 866 if templ_7745c5c3_Err != nil { 818 867 return templ_7745c5c3_Err 819 868 } 820 869 if p.Since != nil { 821 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 73, "<nav class=\"since\" aria-label=\"Diff range\"><a href=\"") 870 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, "<nav class=\"since\" aria-label=\"Diff range\"><a href=\"") 822 871 if templ_7745c5c3_Err != nil { 823 872 return templ_7745c5c3_Err 824 873 } 825 - var templ_7745c5c3_Var42 templ.SafeURL 826 - templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Since.AllHref)) 874 + var templ_7745c5c3_Var44 templ.SafeURL 875 + templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Since.AllHref)) 827 876 if templ_7745c5c3_Err != nil { 828 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 152, Col: 42} 877 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 161, Col: 42} 829 878 } 830 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) 879 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44)) 831 880 if templ_7745c5c3_Err != nil { 832 881 return templ_7745c5c3_Err 833 882 } 834 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 74, "\"") 883 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, "\"") 835 884 if templ_7745c5c3_Err != nil { 836 885 return templ_7745c5c3_Err 837 886 } 838 887 if !p.Since.Current { 839 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 75, " aria-current=\"page\"") 888 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, " aria-current=\"page\"") 840 889 if templ_7745c5c3_Err != nil { 841 890 return templ_7745c5c3_Err 842 891 } 843 892 } 844 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 76, ">all changes <span class=\"mute\">vs ") 893 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, ">all changes <span class=\"mute\">vs ") 845 894 if templ_7745c5c3_Err != nil { 846 895 return templ_7745c5c3_Err 847 896 } 848 - var templ_7745c5c3_Var43 string 849 - templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 897 + var templ_7745c5c3_Var45 string 898 + templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 850 899 if templ_7745c5c3_Err != nil { 851 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 156, Col: 49} 900 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 165, Col: 49} 852 901 } 853 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) 902 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45)) 854 903 if templ_7745c5c3_Err != nil { 855 904 return templ_7745c5c3_Err 856 905 } 857 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 77, "</span></a> <a href=\"") 906 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, "</span></a> <a href=\"") 858 907 if templ_7745c5c3_Err != nil { 859 908 return templ_7745c5c3_Err 860 909 } 861 - var templ_7745c5c3_Var44 templ.SafeURL 862 - templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Since.SinceHref)) 910 + var templ_7745c5c3_Var46 templ.SafeURL 911 + templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Since.SinceHref)) 863 912 if templ_7745c5c3_Err != nil { 864 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 158, Col: 44} 913 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 167, Col: 44} 865 914 } 866 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44)) 915 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46)) 867 916 if templ_7745c5c3_Err != nil { 868 917 return templ_7745c5c3_Err 869 918 } 870 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 78, "\"") 919 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "\"") 871 920 if templ_7745c5c3_Err != nil { 872 921 return templ_7745c5c3_Err 873 922 } 874 923 if p.Since.Current { 875 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 79, " aria-current=\"page\"") 924 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, " aria-current=\"page\"") 876 925 if templ_7745c5c3_Err != nil { 877 926 return templ_7745c5c3_Err 878 927 } 879 928 } 880 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 80, ">since your last read <span class=\"mute\">") 929 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, ">since your last read <span class=\"mute\">") 881 930 if templ_7745c5c3_Err != nil { 882 931 return templ_7745c5c3_Err 883 932 } 884 - var templ_7745c5c3_Var45 string 885 - templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(p.Since.ReadShort) 933 + var templ_7745c5c3_Var47 string 934 + templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(p.Since.ReadShort) 886 935 if templ_7745c5c3_Err != nil { 887 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 162, Col: 64} 936 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 171, Col: 64} 888 937 } 889 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45)) 938 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) 890 939 if templ_7745c5c3_Err != nil { 891 940 return templ_7745c5c3_Err 892 941 } 893 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 81, " → ") 942 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, " → ") 894 943 if templ_7745c5c3_Err != nil { 895 944 return templ_7745c5c3_Err 896 945 } 897 - var templ_7745c5c3_Var46 string 898 - templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinStringErrs(p.Since.HeadShort) 946 + var templ_7745c5c3_Var48 string 947 + templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(p.Since.HeadShort) 899 948 if templ_7745c5c3_Err != nil { 900 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 162, Col: 90} 949 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 171, Col: 90} 901 950 } 902 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46)) 951 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48)) 903 952 if templ_7745c5c3_Err != nil { 904 953 return templ_7745c5c3_Err 905 954 } 906 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 82, "</span></a></nav>") 955 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "</span></a></nav>") 907 956 if templ_7745c5c3_Err != nil { 908 957 return templ_7745c5c3_Err 909 958 } 910 959 } 911 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 83, " ") 960 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, " ") 912 961 if templ_7745c5c3_Err != nil { 913 962 return templ_7745c5c3_Err 914 963 } 915 964 if p.SinceNote != "" { 916 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 84, "<p class=\"notice\">") 965 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, "<p class=\"notice\">") 917 966 if templ_7745c5c3_Err != nil { 918 967 return templ_7745c5c3_Err 919 968 } 920 - var templ_7745c5c3_Var47 string 921 - templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(p.SinceNote) 969 + var templ_7745c5c3_Var49 string 970 + templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.JoinStringErrs(p.SinceNote) 922 971 if templ_7745c5c3_Err != nil { 923 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 166, Col: 34} 972 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 175, Col: 34} 924 973 } 925 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) 974 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var49)) 926 975 if templ_7745c5c3_Err != nil { 927 976 return templ_7745c5c3_Err 928 977 } 929 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 85, "</p>") 978 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, "</p>") 930 979 if templ_7745c5c3_Err != nil { 931 980 return templ_7745c5c3_Err 932 981 } 933 982 } 934 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 86, " ") 983 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, " ") 935 984 if templ_7745c5c3_Err != nil { 936 985 return templ_7745c5c3_Err 937 986 } ⋯ 1 hidden line@@ -939,87 +988,106 @@ func MergeRequest(l Layout, p MRPage) templ.Component { 939 988 if templ_7745c5c3_Err != nil { 940 989 return templ_7745c5c3_Err 941 990 } 942 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 87, " ") 991 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, " ") 943 992 if templ_7745c5c3_Err != nil { 944 993 return templ_7745c5c3_Err 945 994 } 946 995 if p.Invisible { 947 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 88, "<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>") 996 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "<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>") 948 997 if templ_7745c5c3_Err != nil { 949 998 return templ_7745c5c3_Err 950 999 } 951 1000 } 952 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 89, " ") 1001 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, " ") 953 1002 if templ_7745c5c3_Err != nil { 954 1003 return templ_7745c5c3_Err 955 1004 } 956 1005 if p.Note != "" { 957 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 90, "<p class=\"notice\">") 1006 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, "<p class=\"notice\">") 958 1007 if templ_7745c5c3_Err != nil { 959 1008 return templ_7745c5c3_Err 960 1009 } 961 - var templ_7745c5c3_Var48 string 962 - templ_7745c5c3_Var48, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) 1010 + var templ_7745c5c3_Var50 string 1011 + templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) 963 1012 if templ_7745c5c3_Err != nil { 964 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 176, Col: 29} 1013 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 185, Col: 29} 965 1014 } 966 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var48)) 1015 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var50)) 967 1016 if templ_7745c5c3_Err != nil { 968 1017 return templ_7745c5c3_Err 969 1018 } 970 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 91, "</p>") 1019 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, "</p>") 971 1020 if templ_7745c5c3_Err != nil { 972 1021 return templ_7745c5c3_Err 973 1022 } 974 1023 } 975 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 92, " <div id=\"diffs\" data-mr") 1024 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, " <div id=\"diffs\" data-mr") 976 1025 if templ_7745c5c3_Err != nil { 977 1026 return templ_7745c5c3_Err 978 1027 } 1028 + if p.Canonical != "" { 1029 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 99, " data-canonical=\"") 1030 + if templ_7745c5c3_Err != nil { 1031 + return templ_7745c5c3_Err 1032 + } 1033 + var templ_7745c5c3_Var51 string 1034 + templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Canonical) 1035 + if templ_7745c5c3_Err != nil { 1036 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 191, Col: 32} 1037 + } 1038 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var51) 1039 + if templ_7745c5c3_Err != nil { 1040 + return templ_7745c5c3_Err 1041 + } 1042 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 100, "\"") 1043 + if templ_7745c5c3_Err != nil { 1044 + return templ_7745c5c3_Err 1045 + } 1046 + } 979 1047 if p.Both { 980 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 93, " data-diff=\"") 1048 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 101, " data-diff=\"") 981 1049 if templ_7745c5c3_Err != nil { 982 1050 return templ_7745c5c3_Err 983 1051 } 984 - var templ_7745c5c3_Var49 string 985 - templ_7745c5c3_Var49, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 1052 + var templ_7745c5c3_Var52 string 1053 + templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 986 1054 if templ_7745c5c3_Err != nil { 987 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 182, Col: 22} 1055 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 194, Col: 22} 988 1056 } 989 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var49) 1057 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var52) 990 1058 if templ_7745c5c3_Err != nil { 991 1059 return templ_7745c5c3_Err 992 1060 } 993 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 94, "\"") 1061 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 102, "\"") 994 1062 if templ_7745c5c3_Err != nil { 995 1063 return templ_7745c5c3_Err 996 1064 } 997 1065 } else { 998 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 95, " data-view=\"") 1066 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 103, " data-view=\"") 999 1067 if templ_7745c5c3_Err != nil { 1000 1068 return templ_7745c5c3_Err 1001 1069 } 1002 - var templ_7745c5c3_Var50 string 1003 - templ_7745c5c3_Var50, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 1070 + var templ_7745c5c3_Var53 string 1071 + templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) 1004 1072 if templ_7745c5c3_Err != nil { 1005 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 184, Col: 22} 1073 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 196, Col: 22} 1006 1074 } 1007 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var50) 1075 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var53) 1008 1076 if templ_7745c5c3_Err != nil { 1009 1077 return templ_7745c5c3_Err 1010 1078 } 1011 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 96, "\"") 1079 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 104, "\"") 1012 1080 if templ_7745c5c3_Err != nil { 1013 1081 return templ_7745c5c3_Err 1014 1082 } 1015 1083 } 1016 1084 if p.Both && !p.Pinned { 1017 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 97, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"") 1085 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 105, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"") 1018 1086 if templ_7745c5c3_Err != nil { 1019 1087 return templ_7745c5c3_Err 1020 1088 } 1021 1089 } 1022 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 98, ">") 1090 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 106, ">") 1023 1091 if templ_7745c5c3_Err != nil { 1024 1092 return templ_7745c5c3_Err 1025 1093 } ⋯ 30 hidden lines@@ -1232,182 +1300,182 @@ func commentView(c CommentView, suffix string) templ.Component { 1232 1300 }() 1233 1301 } 1234 1302 ctx = templ.InitializeContext(ctx) 1235 - templ_7745c5c3_Var58 := templ.GetChildren(ctx) 1236 - if templ_7745c5c3_Var58 == nil { 1237 - templ_7745c5c3_Var58 = templ.NopComponent 1303 + templ_7745c5c3_Var61 := templ.GetChildren(ctx) 1304 + if templ_7745c5c3_Var61 == nil { 1305 + templ_7745c5c3_Var61 = templ.NopComponent 1238 1306 } 1239 1307 ctx = templ.ClearChildren(ctx) 1240 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "<div class=\"cmt\" id=\"") 1308 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "<div class=\"cmt\" id=\"") 1241 1309 if templ_7745c5c3_Err != nil { 1242 1310 return templ_7745c5c3_Err 1243 1311 } 1244 - var templ_7745c5c3_Var59 string 1245 - templ_7745c5c3_Var59, templ_7745c5c3_Err = templ.ResolveAttributeValue("c" + c.ID + suffix) 1312 + var templ_7745c5c3_Var62 string 1313 + templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.ResolveAttributeValue("c" + c.ID + suffix) 1246 1314 if templ_7745c5c3_Err != nil { 1247 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 236, Col: 42} 1315 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 248, Col: 42} 1248 1316 } 1249 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var59) 1317 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var62) 1250 1318 if templ_7745c5c3_Err != nil { 1251 1319 return templ_7745c5c3_Err 1252 1320 } 1253 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 110, "\" data-resolved=\"") 1321 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 118, "\" data-resolved=\"") 1254 1322 if templ_7745c5c3_Err != nil { 1255 1323 return templ_7745c5c3_Err 1256 1324 } 1257 - var templ_7745c5c3_Var60 string 1258 - templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolved)) 1325 + var templ_7745c5c3_Var63 string 1326 + templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolved)) 1259 1327 if templ_7745c5c3_Err != nil { 1260 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 236, Col: 81} 1328 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 248, Col: 81} 1261 1329 } 1262 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var60) 1330 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var63) 1263 1331 if templ_7745c5c3_Err != nil { 1264 1332 return templ_7745c5c3_Err 1265 1333 } 1266 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 111, "\"") 1334 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 119, "\"") 1267 1335 if templ_7745c5c3_Err != nil { 1268 1336 return templ_7745c5c3_Err 1269 1337 } 1270 1338 if c.Reply != nil { 1271 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 112, " data-thread") 1339 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 120, " data-thread") 1272 1340 if templ_7745c5c3_Err != nil { 1273 1341 return templ_7745c5c3_Err 1274 1342 } 1275 1343 } 1276 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 113, "><p class=\"c-head\"><span class=\"c-who\">") 1344 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 121, "><p class=\"c-head\"><span class=\"c-who\">") 1277 1345 if templ_7745c5c3_Err != nil { 1278 1346 return templ_7745c5c3_Err 1279 1347 } 1280 - var templ_7745c5c3_Var61 string 1281 - templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 1348 + var templ_7745c5c3_Var64 string 1349 + templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 1282 1350 if templ_7745c5c3_Err != nil { 1283 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 238, Col: 33} 1351 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 250, Col: 33} 1284 1352 } 1285 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var61)) 1353 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var64)) 1286 1354 if templ_7745c5c3_Err != nil { 1287 1355 return templ_7745c5c3_Err 1288 1356 } 1289 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 114, "</span> ") 1357 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 122, "</span> ") 1290 1358 if templ_7745c5c3_Err != nil { 1291 1359 return templ_7745c5c3_Err 1292 1360 } 1293 1361 if c.WhenAt != "" { 1294 - var templ_7745c5c3_Var62 string 1295 - templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1362 + var templ_7745c5c3_Var65 string 1363 + templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1296 1364 if templ_7745c5c3_Err != nil { 1297 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 240, Col: 9} 1365 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 252, Col: 9} 1298 1366 } 1299 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62)) 1367 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) 1300 1368 if templ_7745c5c3_Err != nil { 1301 1369 return templ_7745c5c3_Err 1302 1370 } 1303 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 115, "<time class=\"mute\" datetime=\"") 1371 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 123, "<time class=\"mute\" datetime=\"") 1304 1372 if templ_7745c5c3_Err != nil { 1305 1373 return templ_7745c5c3_Err 1306 1374 } 1307 - var templ_7745c5c3_Var63 string 1308 - templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 1375 + var templ_7745c5c3_Var66 string 1376 + templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 1309 1377 if templ_7745c5c3_Err != nil { 1310 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 240, Col: 49} 1378 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 252, Col: 49} 1311 1379 } 1312 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var63) 1380 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var66) 1313 1381 if templ_7745c5c3_Err != nil { 1314 1382 return templ_7745c5c3_Err 1315 1383 } 1316 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 116, "\" title=\"") 1384 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 124, "\" title=\"") 1317 1385 if templ_7745c5c3_Err != nil { 1318 1386 return templ_7745c5c3_Err 1319 1387 } 1320 - var templ_7745c5c3_Var64 string 1321 - templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Abs) 1388 + var templ_7745c5c3_Var67 string 1389 + templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Abs) 1322 1390 if templ_7745c5c3_Err != nil { 1323 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 240, Col: 65} 1391 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 252, Col: 65} 1324 1392 } 1325 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var64) 1393 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var67) 1326 1394 if templ_7745c5c3_Err != nil { 1327 1395 return templ_7745c5c3_Err 1328 1396 } 1329 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 117, "\">") 1397 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 125, "\">") 1330 1398 if templ_7745c5c3_Err != nil { 1331 1399 return templ_7745c5c3_Err 1332 1400 } 1333 - var templ_7745c5c3_Var65 string 1334 - templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 1401 + var templ_7745c5c3_Var68 string 1402 + templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 1335 1403 if templ_7745c5c3_Err != nil { 1336 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 240, Col: 76} 1404 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 252, Col: 76} 1337 1405 } 1338 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) 1406 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68)) 1339 1407 if templ_7745c5c3_Err != nil { 1340 1408 return templ_7745c5c3_Err 1341 1409 } 1342 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 118, "</time> ") 1410 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 126, "</time> ") 1343 1411 if templ_7745c5c3_Err != nil { 1344 1412 return templ_7745c5c3_Err 1345 1413 } 1346 1414 } 1347 1415 if c.Resolved { 1348 - var templ_7745c5c3_Var66 string 1349 - templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1416 + var templ_7745c5c3_Var69 string 1417 + templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1350 1418 if templ_7745c5c3_Err != nil { 1351 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 243, Col: 9} 1419 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 9} 1352 1420 } 1353 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var66)) 1421 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var69)) 1354 1422 if templ_7745c5c3_Err != nil { 1355 1423 return templ_7745c5c3_Err 1356 1424 } 1357 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 119, "<span class=\"c-state\">resolved</span> ") 1425 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 127, "<span class=\"c-state\">resolved</span> ") 1358 1426 if templ_7745c5c3_Err != nil { 1359 1427 return templ_7745c5c3_Err 1360 1428 } 1361 1429 } 1362 1430 if c.Outdated { 1363 - var templ_7745c5c3_Var67 string 1364 - templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1431 + var templ_7745c5c3_Var70 string 1432 + templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1365 1433 if templ_7745c5c3_Err != nil { 1366 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 246, Col: 9} 1434 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 258, Col: 9} 1367 1435 } 1368 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var67)) 1436 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var70)) 1369 1437 if templ_7745c5c3_Err != nil { 1370 1438 return templ_7745c5c3_Err 1371 1439 } 1372 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 120, "<span class=\"c-state\" title=\"written on an earlier head; the line may have moved\">outdated</span> ") 1440 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 128, "<span class=\"c-state\" title=\"written on an earlier head; the line may have moved\">outdated</span> ") 1373 1441 if templ_7745c5c3_Err != nil { 1374 1442 return templ_7745c5c3_Err 1375 1443 } 1376 1444 } 1377 1445 if c.Where != "" { 1378 - var templ_7745c5c3_Var68 string 1379 - templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1446 + var templ_7745c5c3_Var71 string 1447 + templ_7745c5c3_Var71, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 1380 1448 if templ_7745c5c3_Err != nil { 1381 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 249, Col: 9} 1449 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 261, Col: 9} 1382 1450 } 1383 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68)) 1451 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var71)) 1384 1452 if templ_7745c5c3_Err != nil { 1385 1453 return templ_7745c5c3_Err 1386 1454 } 1387 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 121, "<span class=\"c-where mute\">") 1455 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 129, "<span class=\"c-where mute\">") 1388 1456 if templ_7745c5c3_Err != nil { 1389 1457 return templ_7745c5c3_Err 1390 1458 } 1391 - var templ_7745c5c3_Var69 string 1392 - templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.JoinStringErrs(c.Where) 1459 + var templ_7745c5c3_Var72 string 1460 + templ_7745c5c3_Var72, templ_7745c5c3_Err = templ.JoinStringErrs(c.Where) 1393 1461 if templ_7745c5c3_Err != nil { 1394 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 249, Col: 47} 1462 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 261, Col: 47} 1395 1463 } 1396 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var69)) 1464 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var72)) 1397 1465 if templ_7745c5c3_Err != nil { 1398 1466 return templ_7745c5c3_Err 1399 1467 } 1400 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 122, "</span>") 1468 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 130, "</span>") 1401 1469 if templ_7745c5c3_Err != nil { 1402 1470 return templ_7745c5c3_Err 1403 1471 } 1404 1472 } 1405 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 123, "</p>") 1473 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 131, "</p>") 1406 1474 if templ_7745c5c3_Err != nil { 1407 1475 return templ_7745c5c3_Err 1408 1476 } 1409 1477 if len(c.Parts) > 0 { 1410 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 124, "<p class=\"c-text\">") 1478 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 132, "<p class=\"c-text\">") 1411 1479 if templ_7745c5c3_Err != nil { 1412 1480 return templ_7745c5c3_Err 1413 1481 } ⋯ 8 hidden lines@@ -1447,147 +1515,147 @@ func commentView(c CommentView, suffix string) templ.Component { 1447 1515 return templ_7745c5c3_Err 1448 1516 } 1449 1517 } 1450 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 129, "</div>") 1518 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 137, "</div>") 1451 1519 if templ_7745c5c3_Err != nil { 1452 1520 return templ_7745c5c3_Err 1453 1521 } 1454 1522 } 1455 1523 if c.Edited { 1456 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 130, "<span class=\"mute\">edited</span> ") 1524 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 138, "<span class=\"mute\">edited</span> ") 1457 1525 if templ_7745c5c3_Err != nil { 1458 1526 return templ_7745c5c3_Err 1459 1527 } 1460 1528 } 1461 1529 if c.Verdict != "" { 1462 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 131, "<span class=\"c-state\">") 1530 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 139, "<span class=\"c-state\">") 1463 1531 if templ_7745c5c3_Err != nil { 1464 1532 return templ_7745c5c3_Err 1465 1533 } 1466 - var templ_7745c5c3_Var70 string 1467 - templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.JoinStringErrs(c.Verdict) 1534 + var templ_7745c5c3_Var73 string 1535 + templ_7745c5c3_Var73, templ_7745c5c3_Err = templ.JoinStringErrs(c.Verdict) 1468 1536 if templ_7745c5c3_Err != nil { 1469 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 273, Col: 36} 1537 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 285, Col: 36} 1470 1538 } 1471 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var70)) 1539 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var73)) 1472 1540 if templ_7745c5c3_Err != nil { 1473 1541 return templ_7745c5c3_Err 1474 1542 } 1475 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 132, "</span> ") 1543 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 140, "</span> ") 1476 1544 if templ_7745c5c3_Err != nil { 1477 1545 return templ_7745c5c3_Err 1478 1546 } 1479 1547 } 1480 1548 if c.Range != "" { 1481 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 133, "<span class=\"mute\">") 1549 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 141, "<span class=\"mute\">") 1482 1550 if templ_7745c5c3_Err != nil { 1483 1551 return templ_7745c5c3_Err 1484 1552 } 1485 - var templ_7745c5c3_Var71 string 1486 - templ_7745c5c3_Var71, templ_7745c5c3_Err = templ.JoinStringErrs(c.Range) 1553 + var templ_7745c5c3_Var74 string 1554 + templ_7745c5c3_Var74, templ_7745c5c3_Err = templ.JoinStringErrs(c.Range) 1487 1555 if templ_7745c5c3_Err != nil { 1488 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 276, Col: 31} 1556 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 288, Col: 31} 1489 1557 } 1490 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var71)) 1558 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var74)) 1491 1559 if templ_7745c5c3_Err != nil { 1492 1560 return templ_7745c5c3_Err 1493 1561 } 1494 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 134, "</span> ") 1562 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 142, "</span> ") 1495 1563 if templ_7745c5c3_Err != nil { 1496 1564 return templ_7745c5c3_Err 1497 1565 } 1498 1566 } 1499 1567 if c.Quote != "" { 1500 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 135, "<button type=\"button\" class=\"btn\" data-js data-quote=\"") 1568 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 143, "<button type=\"button\" class=\"btn\" data-js data-quote=\"") 1501 1569 if templ_7745c5c3_Err != nil { 1502 1570 return templ_7745c5c3_Err 1503 1571 } 1504 - var templ_7745c5c3_Var72 string 1505 - templ_7745c5c3_Var72, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Quote) 1572 + var templ_7745c5c3_Var75 string 1573 + templ_7745c5c3_Var75, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Quote) 1506 1574 if templ_7745c5c3_Err != nil { 1507 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 279, Col: 65} 1575 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 291, Col: 65} 1508 1576 } 1509 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var72) 1577 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var75) 1510 1578 if templ_7745c5c3_Err != nil { 1511 1579 return templ_7745c5c3_Err 1512 1580 } 1513 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 136, "\">Quote</button> ") 1581 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 144, "\">Quote</button> ") 1514 1582 if templ_7745c5c3_Err != nil { 1515 1583 return templ_7745c5c3_Err 1516 1584 } 1517 1585 } 1518 1586 if c.Edit != nil { 1519 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 137, "<details><summary>Edit</summary><form method=\"post\" action=\"") 1587 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 145, "<details><summary>Edit</summary><form method=\"post\" action=\"") 1520 1588 if templ_7745c5c3_Err != nil { 1521 1589 return templ_7745c5c3_Err 1522 1590 } 1523 - var templ_7745c5c3_Var73 templ.SafeURL 1524 - templ_7745c5c3_Var73, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Edit.Action)) 1591 + var templ_7745c5c3_Var76 templ.SafeURL 1592 + templ_7745c5c3_Var76, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Edit.Action)) 1525 1593 if templ_7745c5c3_Err != nil { 1526 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 282, Col: 92} 1594 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 294, Col: 92} 1527 1595 } 1528 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var73)) 1596 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var76)) 1529 1597 if templ_7745c5c3_Err != nil { 1530 1598 return templ_7745c5c3_Err 1531 1599 } 1532 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 138, "\"><input type=\"hidden\" name=\"from\" value=\"") 1600 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 146, "\"><input type=\"hidden\" name=\"from\" value=\"") 1533 1601 if templ_7745c5c3_Err != nil { 1534 1602 return templ_7745c5c3_Err 1535 1603 } 1536 - var templ_7745c5c3_Var74 string 1537 - templ_7745c5c3_Var74, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Edit.From)) 1604 + var templ_7745c5c3_Var77 string 1605 + templ_7745c5c3_Var77, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Edit.From)) 1538 1606 if templ_7745c5c3_Err != nil { 1539 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 282, Col: 153} 1607 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 294, Col: 153} 1540 1608 } 1541 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var74) 1609 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var77) 1542 1610 if templ_7745c5c3_Err != nil { 1543 1611 return templ_7745c5c3_Err 1544 1612 } 1545 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 139, "\"><textarea name=\"text\" maxlength=\"8000\">") 1613 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 147, "\"><textarea name=\"text\" maxlength=\"8000\">") 1546 1614 if templ_7745c5c3_Err != nil { 1547 1615 return templ_7745c5c3_Err 1548 1616 } 1549 - var templ_7745c5c3_Var75 string 1550 - templ_7745c5c3_Var75, templ_7745c5c3_Err = templ.JoinStringErrs(c.Edit.Text) 1617 + var templ_7745c5c3_Var78 string 1618 + templ_7745c5c3_Var78, templ_7745c5c3_Err = templ.JoinStringErrs(c.Edit.Text) 1551 1619 if templ_7745c5c3_Err != nil { 1552 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 282, Col: 209} 1620 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 294, Col: 209} 1553 1621 } 1554 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var75)) 1622 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var78)) 1555 1623 if templ_7745c5c3_Err != nil { 1556 1624 return templ_7745c5c3_Err 1557 1625 } 1558 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 140, "</textarea><button class=\"btn\" type=\"submit\">Save</button></form></details> ") 1626 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 148, "</textarea><button class=\"btn\" type=\"submit\">Save</button></form></details> ") 1559 1627 if templ_7745c5c3_Err != nil { 1560 1628 return templ_7745c5c3_Err 1561 1629 } 1562 1630 } 1563 1631 if c.Delete != nil { 1564 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 141, "<details><summary>Delete</summary><form method=\"post\" action=\"") 1632 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 149, "<details><summary>Delete</summary><form method=\"post\" action=\"") 1565 1633 if templ_7745c5c3_Err != nil { 1566 1634 return templ_7745c5c3_Err 1567 1635 } 1568 - var templ_7745c5c3_Var76 templ.SafeURL 1569 - templ_7745c5c3_Var76, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Delete.Action)) 1636 + var templ_7745c5c3_Var79 templ.SafeURL 1637 + templ_7745c5c3_Var79, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Delete.Action)) 1570 1638 if templ_7745c5c3_Err != nil { 1571 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 285, Col: 96} 1639 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 297, Col: 96} 1572 1640 } 1573 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var76)) 1641 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var79)) 1574 1642 if templ_7745c5c3_Err != nil { 1575 1643 return templ_7745c5c3_Err 1576 1644 } 1577 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 142, "\"><input type=\"hidden\" name=\"from\" value=\"") 1645 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 150, "\"><input type=\"hidden\" name=\"from\" value=\"") 1578 1646 if templ_7745c5c3_Err != nil { 1579 1647 return templ_7745c5c3_Err 1580 1648 } 1581 - var templ_7745c5c3_Var77 string 1582 - templ_7745c5c3_Var77, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Delete.From)) 1649 + var templ_7745c5c3_Var80 string 1650 + templ_7745c5c3_Var80, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Delete.From)) 1583 1651 if templ_7745c5c3_Err != nil { 1584 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 285, Col: 159} 1652 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 297, Col: 159} 1585 1653 } 1586 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var77) 1654 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var80) 1587 1655 if templ_7745c5c3_Err != nil { 1588 1656 return templ_7745c5c3_Err 1589 1657 } 1590 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 143, "\"><p>Delete this note?</p><button class=\"btn\" type=\"submit\">Confirm delete</button></form></details> ") 1658 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 151, "\"><p>Delete this note?</p><button class=\"btn\" type=\"submit\">Confirm delete</button></form></details> ") 1591 1659 if templ_7745c5c3_Err != nil { 1592 1660 return templ_7745c5c3_Err 1593 1661 } ⋯ 25 hidden lines@@ -1712,214 +1780,214 @@ func commentForm(f CommentForm, suffix string) templ.Component { 1712 1780 }() 1713 1781 } 1714 1782 ctx = templ.InitializeContext(ctx) 1715 - templ_7745c5c3_Var82 := templ.GetChildren(ctx) 1716 - if templ_7745c5c3_Var82 == nil { 1717 - templ_7745c5c3_Var82 = templ.NopComponent 1783 + templ_7745c5c3_Var85 := templ.GetChildren(ctx) 1784 + if templ_7745c5c3_Var85 == nil { 1785 + templ_7745c5c3_Var85 = templ.NopComponent 1718 1786 } 1719 1787 ctx = templ.ClearChildren(ctx) 1720 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 154, "<form class=\"cform\" method=\"post\" action=\"") 1788 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 162, "<form class=\"cform\" method=\"post\" action=\"") 1721 1789 if templ_7745c5c3_Err != nil { 1722 1790 return templ_7745c5c3_Err 1723 1791 } 1724 - var templ_7745c5c3_Var83 templ.SafeURL 1725 - templ_7745c5c3_Var83, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Action)) 1792 + var templ_7745c5c3_Var86 templ.SafeURL 1793 + templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Action)) 1726 1794 if templ_7745c5c3_Err != nil { 1727 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 316, Col: 67} 1795 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 328, Col: 67} 1728 1796 } 1729 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var83)) 1797 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var86)) 1730 1798 if templ_7745c5c3_Err != nil { 1731 1799 return templ_7745c5c3_Err 1732 1800 } 1733 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 155, "\"><label for=\"") 1801 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 163, "\"><label for=\"") 1734 1802 if templ_7745c5c3_Err != nil { 1735 1803 return templ_7745c5c3_Err 1736 1804 } 1737 - var templ_7745c5c3_Var84 string 1738 - templ_7745c5c3_Var84, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) 1805 + var templ_7745c5c3_Var87 string 1806 + templ_7745c5c3_Var87, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) 1739 1807 if templ_7745c5c3_Err != nil { 1740 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 317, Col: 28} 1808 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 329, Col: 28} 1741 1809 } 1742 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var84) 1810 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var87) 1743 1811 if templ_7745c5c3_Err != nil { 1744 1812 return templ_7745c5c3_Err 1745 1813 } 1746 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 156, "\">") 1814 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 164, "\">") 1747 1815 if templ_7745c5c3_Err != nil { 1748 1816 return templ_7745c5c3_Err 1749 1817 } 1750 - var templ_7745c5c3_Var85 string 1751 - templ_7745c5c3_Var85, templ_7745c5c3_Err = templ.JoinStringErrs(f.Title) 1818 + var templ_7745c5c3_Var88 string 1819 + templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.JoinStringErrs(f.Title) 1752 1820 if templ_7745c5c3_Err != nil { 1753 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 317, Col: 40} 1821 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 329, Col: 40} 1754 1822 } 1755 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var85)) 1823 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var88)) 1756 1824 if templ_7745c5c3_Err != nil { 1757 1825 return templ_7745c5c3_Err 1758 1826 } 1759 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 157, "</label> <textarea id=\"") 1827 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 165, "</label> <textarea id=\"") 1760 1828 if templ_7745c5c3_Err != nil { 1761 1829 return templ_7745c5c3_Err 1762 1830 } 1763 - var templ_7745c5c3_Var86 string 1764 - templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) 1831 + var templ_7745c5c3_Var89 string 1832 + templ_7745c5c3_Var89, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) 1765 1833 if templ_7745c5c3_Err != nil { 1766 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 319, Col: 21} 1834 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 331, Col: 21} 1767 1835 } 1768 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var86) 1836 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var89) 1769 1837 if templ_7745c5c3_Err != nil { 1770 1838 return templ_7745c5c3_Err 1771 1839 } 1772 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 158, "\" name=\"text\" rows=\"3\" maxlength=\"8000\"") 1840 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 166, "\" name=\"text\" rows=\"3\" maxlength=\"8000\"") 1773 1841 if templ_7745c5c3_Err != nil { 1774 1842 return templ_7745c5c3_Err 1775 1843 } 1776 1844 if f.Plain { 1777 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 159, " required placeholder=\"plain text, 8000 characters at most\"") 1845 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 167, " required placeholder=\"plain text, 8000 characters at most\"") 1778 1846 if templ_7745c5c3_Err != nil { 1779 1847 return templ_7745c5c3_Err 1780 1848 } 1781 1849 } else { 1782 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 160, " placeholder=\"Markdown, 8000 characters at most\"") 1850 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 168, " placeholder=\"Markdown, 8000 characters at most\"") 1783 1851 if templ_7745c5c3_Err != nil { 1784 1852 return templ_7745c5c3_Err 1785 1853 } 1786 1854 } 1787 1855 if f.Focus { 1788 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 161, " autofocus") 1856 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 169, " autofocus") 1789 1857 if templ_7745c5c3_Err != nil { 1790 1858 return templ_7745c5c3_Err 1791 1859 } 1792 1860 } 1793 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 162, "></textarea> ") 1861 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 170, "></textarea> ") 1794 1862 if templ_7745c5c3_Err != nil { 1795 1863 return templ_7745c5c3_Err 1796 1864 } 1797 1865 if f.Path != "" { 1798 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 163, "<input type=\"hidden\" name=\"path\" value=\"") 1866 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 171, "<input type=\"hidden\" name=\"path\" value=\"") 1799 1867 if templ_7745c5c3_Err != nil { 1800 1868 return templ_7745c5c3_Err 1801 1869 } 1802 - var templ_7745c5c3_Var87 string 1803 - templ_7745c5c3_Var87, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Path) 1870 + var templ_7745c5c3_Var90 string 1871 + templ_7745c5c3_Var90, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Path) 1804 1872 if templ_7745c5c3_Err != nil { 1805 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 334, Col: 50} 1873 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 346, Col: 50} 1806 1874 } 1807 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var87) 1875 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var90) 1808 1876 if templ_7745c5c3_Err != nil { 1809 1877 return templ_7745c5c3_Err 1810 1878 } 1811 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 164, "\"> <input type=\"hidden\" name=\"line\" value=\"") 1879 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 172, "\"> <input type=\"hidden\" name=\"line\" value=\"") 1812 1880 if templ_7745c5c3_Err != nil { 1813 1881 return templ_7745c5c3_Err 1814 1882 } 1815 - var templ_7745c5c3_Var88 string 1816 - templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Line) 1883 + var templ_7745c5c3_Var91 string 1884 + templ_7745c5c3_Var91, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Line) 1817 1885 if templ_7745c5c3_Err != nil { 1818 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 335, Col: 50} 1886 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 347, Col: 50} 1819 1887 } 1820 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var88) 1888 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var91) 1821 1889 if templ_7745c5c3_Err != nil { 1822 1890 return templ_7745c5c3_Err 1823 1891 } 1824 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 165, "\"> <input type=\"hidden\" name=\"side\" value=\"") 1892 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 173, "\"> <input type=\"hidden\" name=\"side\" value=\"") 1825 1893 if templ_7745c5c3_Err != nil { 1826 1894 return templ_7745c5c3_Err 1827 1895 } 1828 - var templ_7745c5c3_Var89 string 1829 - templ_7745c5c3_Var89, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Side) 1896 + var templ_7745c5c3_Var92 string 1897 + templ_7745c5c3_Var92, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Side) 1830 1898 if templ_7745c5c3_Err != nil { 1831 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 336, Col: 50} 1899 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 348, Col: 50} 1832 1900 } 1833 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var89) 1901 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var92) 1834 1902 if templ_7745c5c3_Err != nil { 1835 1903 return templ_7745c5c3_Err 1836 1904 } 1837 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 166, "\"> <label>from line <input type=\"number\" name=\"start_line\" min=\"1\" value=\"") 1905 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 174, "\"> <label>from line <input type=\"number\" name=\"start_line\" min=\"1\" value=\"") 1838 1906 if templ_7745c5c3_Err != nil { 1839 1907 return templ_7745c5c3_Err 1840 1908 } 1841 - var templ_7745c5c3_Var90 string 1842 - templ_7745c5c3_Var90, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.StartLine) 1909 + var templ_7745c5c3_Var93 string 1910 + templ_7745c5c3_Var93, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.StartLine) 1843 1911 if templ_7745c5c3_Err != nil { 1844 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 337, Col: 86} 1912 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 349, Col: 86} 1845 1913 } 1846 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var90) 1914 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var93) 1847 1915 if templ_7745c5c3_Err != nil { 1848 1916 return templ_7745c5c3_Err 1849 1917 } 1850 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 167, "\"></label> ") 1918 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 175, "\"></label> ") 1851 1919 if templ_7745c5c3_Err != nil { 1852 1920 return templ_7745c5c3_Err 1853 1921 } 1854 1922 } 1855 1923 if f.ReplyTo != "" { 1856 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 168, "<input type=\"hidden\" name=\"reply_to\" value=\"") 1924 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 176, "<input type=\"hidden\" name=\"reply_to\" value=\"") 1857 1925 if templ_7745c5c3_Err != nil { 1858 1926 return templ_7745c5c3_Err 1859 1927 } 1860 - var templ_7745c5c3_Var91 string 1861 - templ_7745c5c3_Var91, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ReplyTo) 1928 + var templ_7745c5c3_Var94 string 1929 + templ_7745c5c3_Var94, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ReplyTo) 1862 1930 if templ_7745c5c3_Err != nil { 1863 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 340, Col: 57} 1931 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 352, Col: 57} 1864 1932 } 1865 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var91) 1933 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var94) 1866 1934 if templ_7745c5c3_Err != nil { 1867 1935 return templ_7745c5c3_Err 1868 1936 } 1869 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 169, "\"> ") 1937 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 177, "\"> ") 1870 1938 if templ_7745c5c3_Err != nil { 1871 1939 return templ_7745c5c3_Err 1872 1940 } 1873 1941 } 1874 1942 if f.Path == "" && f.ReplyTo == "" && !f.Plain { 1875 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 170, "<fieldset><legend>Verdict</legend><label><input type=\"radio\" name=\"verdict\" value=\"\" checked>Note</label><label><input type=\"radio\" name=\"verdict\" value=\"approve\">Approve</label><label><input type=\"radio\" name=\"verdict\" value=\"changes_requested\">Request changes</label></fieldset>") 1943 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 178, "<fieldset><legend>Verdict</legend><label><input type=\"radio\" name=\"verdict\" value=\"\" checked>Note</label><label><input type=\"radio\" name=\"verdict\" value=\"approve\">Approve</label><label><input type=\"radio\" name=\"verdict\" value=\"changes_requested\">Request changes</label></fieldset>") 1876 1944 if templ_7745c5c3_Err != nil { 1877 1945 return templ_7745c5c3_Err 1878 1946 } 1879 1947 } 1880 1948 if f.From > 0 { 1881 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 171, "<input type=\"hidden\" name=\"from\" value=\"") 1949 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 179, "<input type=\"hidden\" name=\"from\" value=\"") 1882 1950 if templ_7745c5c3_Err != nil { 1883 1951 return templ_7745c5c3_Err 1884 1952 } 1885 - var templ_7745c5c3_Var92 string 1886 - templ_7745c5c3_Var92, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(f.From)) 1953 + var templ_7745c5c3_Var95 string 1954 + templ_7745c5c3_Var95, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(f.From)) 1887 1955 if templ_7745c5c3_Err != nil { 1888 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 346, Col: 56} 1956 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 358, Col: 56} 1889 1957 } 1890 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var92) 1958 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var95) 1891 1959 if templ_7745c5c3_Err != nil { 1892 1960 return templ_7745c5c3_Err 1893 1961 } 1894 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 172, "\">") 1962 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 180, "\">") 1895 1963 if templ_7745c5c3_Err != nil { 1896 1964 return templ_7745c5c3_Err 1897 1965 } 1898 1966 } 1899 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 173, "<div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Comment</button> ") 1967 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 181, "<div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Comment</button> ") 1900 1968 if templ_7745c5c3_Err != nil { 1901 1969 return templ_7745c5c3_Err 1902 1970 } 1903 1971 if f.Cancel != "" { 1904 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 174, "<a class=\"btn\" href=\"") 1972 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 182, "<a class=\"btn\" href=\"") 1905 1973 if templ_7745c5c3_Err != nil { 1906 1974 return templ_7745c5c3_Err 1907 1975 } 1908 - var templ_7745c5c3_Var93 templ.SafeURL 1909 - templ_7745c5c3_Var93, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Cancel)) 1976 + var templ_7745c5c3_Var96 templ.SafeURL 1977 + templ_7745c5c3_Var96, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Cancel)) 1910 1978 if templ_7745c5c3_Err != nil { 1911 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 351, Col: 49} 1979 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 363, Col: 49} 1912 1980 } 1913 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var93)) 1981 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var96)) 1914 1982 if templ_7745c5c3_Err != nil { 1915 1983 return templ_7745c5c3_Err 1916 1984 } 1917 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 175, "\">Cancel</a>") 1985 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 183, "\">Cancel</a>") 1918 1986 if templ_7745c5c3_Err != nil { 1919 1987 return templ_7745c5c3_Err 1920 1988 } 1921 1989 } 1922 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 176, "</div></form>") 1990 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 184, "</div></form>") 1923 1991 if templ_7745c5c3_Err != nil { 1924 1992 return templ_7745c5c3_Err 1925 1993 } ⋯ 3 hidden lines@@ -2119,138 +2187,138 @@ func mrRail(p MRPage) templ.Component { 2119 2187 return templ_7745c5c3_Err 2120 2188 } 2121 2189 } 2122 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 196, "<span class=\"mute\">") 2190 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 204, "<span class=\"mute\">") 2123 2191 if templ_7745c5c3_Err != nil { 2124 2192 return templ_7745c5c3_Err 2125 2193 } 2126 - var templ_7745c5c3_Var103 string 2127 - templ_7745c5c3_Var103, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 2194 + var templ_7745c5c3_Var106 string 2195 + templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 2128 2196 if templ_7745c5c3_Err != nil { 2129 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 394, Col: 16} 2197 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 406, Col: 16} 2130 2198 } 2131 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var103)) 2199 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106)) 2132 2200 if templ_7745c5c3_Err != nil { 2133 2201 return templ_7745c5c3_Err 2134 2202 } 2135 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 197, " ") 2203 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 205, " ") 2136 2204 if templ_7745c5c3_Err != nil { 2137 2205 return templ_7745c5c3_Err 2138 2206 } 2139 2207 if c.WhenAt != "" { 2140 - var templ_7745c5c3_Var104 string 2141 - templ_7745c5c3_Var104, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") 2208 + var templ_7745c5c3_Var107 string 2209 + templ_7745c5c3_Var107, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") 2142 2210 if templ_7745c5c3_Err != nil { 2143 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 396, Col: 15} 2211 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 408, Col: 15} 2144 2212 } 2145 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var104)) 2213 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var107)) 2146 2214 if templ_7745c5c3_Err != nil { 2147 2215 return templ_7745c5c3_Err 2148 2216 } 2149 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 198, "<time datetime=\"") 2217 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 206, "<time datetime=\"") 2150 2218 if templ_7745c5c3_Err != nil { 2151 2219 return templ_7745c5c3_Err 2152 2220 } 2153 - var templ_7745c5c3_Var105 string 2154 - templ_7745c5c3_Var105, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 2221 + var templ_7745c5c3_Var108 string 2222 + templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 2155 2223 if templ_7745c5c3_Err != nil { 2156 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 396, Col: 42} 2224 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 408, Col: 42} 2157 2225 } 2158 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var105) 2226 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var108) 2159 2227 if templ_7745c5c3_Err != nil { 2160 2228 return templ_7745c5c3_Err 2161 2229 } 2162 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 199, "\">") 2230 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "\">") 2163 2231 if templ_7745c5c3_Err != nil { 2164 2232 return templ_7745c5c3_Err 2165 2233 } 2166 - var templ_7745c5c3_Var106 string 2167 - templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 2234 + var templ_7745c5c3_Var109 string 2235 + templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 2168 2236 if templ_7745c5c3_Err != nil { 2169 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 396, Col: 53} 2237 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 408, Col: 53} 2170 2238 } 2171 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106)) 2239 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109)) 2172 2240 if templ_7745c5c3_Err != nil { 2173 2241 return templ_7745c5c3_Err 2174 2242 } 2175 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 200, "</time> ") 2243 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "</time> ") 2176 2244 if templ_7745c5c3_Err != nil { 2177 2245 return templ_7745c5c3_Err 2178 2246 } 2179 2247 } 2180 2248 if c.New { 2181 - var templ_7745c5c3_Var107 string 2182 - templ_7745c5c3_Var107, templ_7745c5c3_Err = templ.JoinStringErrs(" · new") 2249 + var templ_7745c5c3_Var110 string 2250 + templ_7745c5c3_Var110, templ_7745c5c3_Err = templ.JoinStringErrs(" · new") 2183 2251 if templ_7745c5c3_Err != nil { 2184 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 399, Col: 18} 2252 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 411, Col: 18} 2185 2253 } 2186 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var107)) 2254 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var110)) 2187 2255 if templ_7745c5c3_Err != nil { 2188 2256 return templ_7745c5c3_Err 2189 2257 } 2190 2258 } 2191 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 201, "</span></li>") 2259 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "</span></li>") 2192 2260 if templ_7745c5c3_Err != nil { 2193 2261 return templ_7745c5c3_Err 2194 2262 } 2195 2263 } 2196 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 202, "</ul>") 2264 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, "</ul>") 2197 2265 if templ_7745c5c3_Err != nil { 2198 2266 return templ_7745c5c3_Err 2199 2267 } 2200 2268 if len(p.Commits) == 0 { 2201 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 203, "<p class=\"dim\">no commit to merge.</p>") 2269 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 211, "<p class=\"dim\">no commit to merge.</p>") 2202 2270 if templ_7745c5c3_Err != nil { 2203 2271 return templ_7745c5c3_Err 2204 2272 } 2205 2273 } 2206 2274 if p.CommitsNote != "" { 2207 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 204, "<p class=\"note\">") 2275 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 212, "<p class=\"note\">") 2208 2276 if templ_7745c5c3_Err != nil { 2209 2277 return templ_7745c5c3_Err 2210 2278 } 2211 - var templ_7745c5c3_Var108 string 2212 - templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitsNote) 2279 + var templ_7745c5c3_Var111 string 2280 + templ_7745c5c3_Var111, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitsNote) 2213 2281 if templ_7745c5c3_Err != nil { 2214 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 409, Col: 34} 2282 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 421, Col: 34} 2215 2283 } 2216 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var108)) 2284 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var111)) 2217 2285 if templ_7745c5c3_Err != nil { 2218 2286 return templ_7745c5c3_Err 2219 2287 } 2220 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 205, "</p>") 2288 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 213, "</p>") 2221 2289 if templ_7745c5c3_Err != nil { 2222 2290 return templ_7745c5c3_Err 2223 2291 } 2224 2292 } 2225 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 206, "</section><section aria-labelledby=\"r-settings\"><h2 id=\"r-settings\">Settings</h2><dl class=\"kv\"><dt>modes</dt><dd>") 2293 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 214, "</section><section aria-labelledby=\"r-settings\"><h2 id=\"r-settings\">Settings</h2><dl class=\"kv\"><dt>modes</dt><dd>") 2226 2294 if templ_7745c5c3_Err != nil { 2227 2295 return templ_7745c5c3_Err 2228 2296 } 2229 - var templ_7745c5c3_Var109 string 2230 - templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", ")) 2297 + var templ_7745c5c3_Var112 string 2298 + templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", ")) 2231 2299 if templ_7745c5c3_Err != nil { 2232 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 416, Col: 36} 2300 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 428, Col: 36} 2233 2301 } 2234 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109)) 2302 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112)) 2235 2303 if templ_7745c5c3_Err != nil { 2236 2304 return templ_7745c5c3_Err 2237 2305 } 2238 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "</dd><dt>checks</dt><dd>") 2306 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "</dd><dt>checks</dt><dd>") 2239 2307 if templ_7745c5c3_Err != nil { 2240 2308 return templ_7745c5c3_Err 2241 2309 } 2242 2310 if p.ChecksBlock { 2243 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "failing ones block the merge") 2311 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 216, "failing ones block the merge") 2244 2312 if templ_7745c5c3_Err != nil { 2245 2313 return templ_7745c5c3_Err 2246 2314 } 2247 2315 } else { 2248 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "do not block the merge") 2316 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 217, "do not block the merge") 2249 2317 if templ_7745c5c3_Err != nil { 2250 2318 return templ_7745c5c3_Err 2251 2319 } 2252 2320 } 2253 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, "</dd></dl></section>") 2321 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "</dd></dl></section>") 2254 2322 if templ_7745c5c3_Err != nil { 2255 2323 return templ_7745c5c3_Err 2256 2324 } ⋯ 10 hidden lines@@ -2379,219 +2452,594 @@ func mergeMenu(p MRPage) templ.Component { 2379 2452 }() 2380 2453 } 2381 2454 ctx = templ.InitializeContext(ctx) 2382 - templ_7745c5c3_Var114 := templ.GetChildren(ctx) 2383 - if templ_7745c5c3_Var114 == nil { 2384 - templ_7745c5c3_Var114 = templ.NopComponent 2455 + templ_7745c5c3_Var117 := templ.GetChildren(ctx) 2456 + if templ_7745c5c3_Var117 == nil { 2457 + templ_7745c5c3_Var117 = templ.NopComponent 2385 2458 } 2386 2459 ctx = templ.ClearChildren(ctx) 2387 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "<details class=\"menu mmenu\" id=\"merge-menu\" data-state=\"open\"><summary class=\"btn primary\" aria-keyshortcuts=\"Shift+M\">") 2460 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "<details class=\"menu mmenu\" id=\"merge-menu\" data-state=\"open\"") 2461 + if templ_7745c5c3_Err != nil { 2462 + return templ_7745c5c3_Err 2463 + } 2464 + if p.Box.Error != "" { 2465 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, " open") 2466 + if templ_7745c5c3_Err != nil { 2467 + return templ_7745c5c3_Err 2468 + } 2469 + } 2470 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "><summary class=\"btn primary\" aria-keyshortcuts=\"Shift+M\">") 2388 2471 if templ_7745c5c3_Err != nil { 2389 2472 return templ_7745c5c3_Err 2390 2473 } 2391 2474 if p.Box.ReadyAction != "" { 2392 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 219, "Draft ") 2475 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, "Draft ") 2393 2476 if templ_7745c5c3_Err != nil { 2394 2477 return templ_7745c5c3_Err 2395 2478 } 2396 2479 } else { 2397 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 220, "Merge ") 2480 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "Merge ") 2398 2481 if templ_7745c5c3_Err != nil { 2399 2482 return templ_7745c5c3_Err 2400 2483 } 2401 2484 } 2402 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 221, "<kbd aria-hidden=\"true\">M</kbd></summary><div class=\"menu-pop\" role=\"group\" aria-label=\"Merge\"><dl class=\"kv\"><dt>head</dt><dd>") 2485 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "<kbd aria-hidden=\"true\">M</kbd></summary><div class=\"menu-pop\" role=\"group\" aria-label=\"Merge\"><dl class=\"kv\"><dt>head</dt><dd>") 2403 2486 if templ_7745c5c3_Err != nil { 2404 2487 return templ_7745c5c3_Err 2405 2488 } 2406 2489 if p.Box.HeadGone { 2407 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 222, "gone: the source branch was deleted") 2490 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, "gone: the source branch was deleted") 2408 2491 if templ_7745c5c3_Err != nil { 2409 2492 return templ_7745c5c3_Err 2410 2493 } 2411 2494 } else { 2412 - var templ_7745c5c3_Var115 string 2413 - templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(p.HeadShort) 2495 + var templ_7745c5c3_Var118 string 2496 + templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.JoinStringErrs(p.HeadShort) 2414 2497 if templ_7745c5c3_Err != nil { 2415 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 466, Col: 19} 2498 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 483, Col: 19} 2416 2499 } 2417 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115)) 2500 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var118)) 2418 2501 if templ_7745c5c3_Err != nil { 2419 2502 return templ_7745c5c3_Err 2420 2503 } 2421 2504 } 2422 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 223, "</dd><dt>into</dt><dd>") 2505 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "</dd><dt>into</dt><dd>") 2423 2506 if templ_7745c5c3_Err != nil { 2424 2507 return templ_7745c5c3_Err 2425 2508 } 2426 - var templ_7745c5c3_Var116 string 2427 - templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2509 + var templ_7745c5c3_Var119 string 2510 + templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2428 2511 if templ_7745c5c3_Err != nil { 2429 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 470, Col: 18} 2512 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 487, Col: 18} 2430 2513 } 2431 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116)) 2514 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var119)) 2432 2515 if templ_7745c5c3_Err != nil { 2433 2516 return templ_7745c5c3_Err 2434 2517 } 2435 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 224, "</dd></dl>") 2518 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, "</dd></dl>") 2436 2519 if templ_7745c5c3_Err != nil { 2437 2520 return templ_7745c5c3_Err 2438 2521 } 2522 + if p.Box.Error != "" { 2523 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "<p class=\"d-err\" role=\"alert\">") 2524 + if templ_7745c5c3_Err != nil { 2525 + return templ_7745c5c3_Err 2526 + } 2527 + var templ_7745c5c3_Var120 string 2528 + templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Error) 2529 + if templ_7745c5c3_Err != nil { 2530 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 490, Col: 47} 2531 + } 2532 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120)) 2533 + if templ_7745c5c3_Err != nil { 2534 + return templ_7745c5c3_Err 2535 + } 2536 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "</p>") 2537 + if templ_7745c5c3_Err != nil { 2538 + return templ_7745c5c3_Err 2539 + } 2540 + } 2439 2541 if p.Box.ReadyAction != "" { 2440 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 225, "<p class=\"d-draft\">this is a draft: it cannot be merged until it is ready for review.</p><form class=\"d-btns\" method=\"post\" action=\"") 2542 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, "<p class=\"d-draft\">this is a draft: it cannot be merged until it is ready for review.</p><form class=\"d-btns\" method=\"post\" action=\"") 2441 2543 if templ_7745c5c3_Err != nil { 2442 2544 return templ_7745c5c3_Err 2443 2545 } 2444 - var templ_7745c5c3_Var117 templ.SafeURL 2445 - templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction)) 2546 + var templ_7745c5c3_Var121 templ.SafeURL 2547 + templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction)) 2446 2548 if templ_7745c5c3_Err != nil { 2447 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 474, Col: 80} 2549 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 494, Col: 80} 2448 2550 } 2449 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117)) 2551 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121)) 2450 2552 if templ_7745c5c3_Err != nil { 2451 2553 return templ_7745c5c3_Err 2452 2554 } 2453 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "\"><button type=\"submit\" class=\"btn primary\" data-default title=\"remove the draft prefix from the title\">Ready for review</button></form>") 2555 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, "\"><button type=\"submit\" class=\"btn primary\" data-default title=\"remove the draft prefix from the title\">Ready for review</button></form>") 2454 2556 if templ_7745c5c3_Err != nil { 2455 2557 return templ_7745c5c3_Err 2456 2558 } 2457 2559 } else if !p.Box.HeadGone { 2458 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, "<form class=\"d-acts\" method=\"post\" action=\"") 2560 + templ_7745c5c3_Err = mrMergeabilitySlot(p.Box.Mergeability).Render(ctx, templ_7745c5c3_Buffer) 2459 2561 if templ_7745c5c3_Err != nil { 2460 2562 return templ_7745c5c3_Err 2461 2563 } 2462 - var templ_7745c5c3_Var118 templ.SafeURL 2463 - templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) 2564 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, " <form class=\"d-acts\" method=\"post\" action=\"") 2464 2565 if templ_7745c5c3_Err != nil { 2465 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 478, Col: 80} 2566 + return templ_7745c5c3_Err 2466 2567 } 2467 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var118)) 2568 + var templ_7745c5c3_Var122 templ.SafeURL 2569 + templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) 2570 + if templ_7745c5c3_Err != nil { 2571 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 499, Col: 80} 2572 + } 2573 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122)) 2468 2574 if templ_7745c5c3_Err != nil { 2469 2575 return templ_7745c5c3_Err 2470 2576 } 2471 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "\"><input type=\"hidden\" name=\"head_id\" value=\"") 2577 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, "\"><input type=\"hidden\" name=\"head_id\" value=\"") 2472 2578 if templ_7745c5c3_Err != nil { 2473 2579 return templ_7745c5c3_Err 2474 2580 } 2475 - var templ_7745c5c3_Var119 string 2476 - templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) 2581 + var templ_7745c5c3_Var123 string 2582 + templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) 2477 2583 if templ_7745c5c3_Err != nil { 2478 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 479, Col: 59} 2584 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 500, Col: 59} 2479 2585 } 2480 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var119) 2586 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var123) 2481 2587 if templ_7745c5c3_Err != nil { 2482 2588 return templ_7745c5c3_Err 2483 2589 } 2484 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> ") 2590 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> ") 2485 2591 if templ_7745c5c3_Err != nil { 2486 2592 return templ_7745c5c3_Err 2487 2593 } 2488 2594 for i, m := range p.Box.Modes { 2489 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "<label><input type=\"radio\" name=\"mode\" value=\"") 2595 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "<label><input type=\"radio\" name=\"mode\" value=\"") 2490 2596 if templ_7745c5c3_Err != nil { 2491 2597 return templ_7745c5c3_Err 2492 2598 } 2493 - var templ_7745c5c3_Var120 string 2494 - templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) 2599 + var templ_7745c5c3_Var124 string 2600 + templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) 2495 2601 if templ_7745c5c3_Err != nil { 2496 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 484, Col: 55} 2602 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 508, Col: 24} 2497 2603 } 2498 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var120) 2604 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var124) 2499 2605 if templ_7745c5c3_Err != nil { 2500 2606 return templ_7745c5c3_Err 2501 2607 } 2502 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "\"") 2608 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, "\"") 2503 2609 if templ_7745c5c3_Err != nil { 2504 2610 return templ_7745c5c3_Err 2505 2611 } 2506 - if i == 0 { 2507 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, " checked") 2612 + if i == p.Box.Checked() { 2613 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, " checked") 2508 2614 if templ_7745c5c3_Err != nil { 2509 2615 return templ_7745c5c3_Err 2510 2616 } 2511 2617 } 2512 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "> ") 2618 + if m.Disabled { 2619 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, " disabled") 2620 + if templ_7745c5c3_Err != nil { 2621 + return templ_7745c5c3_Err 2622 + } 2623 + } 2624 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, " title=\"") 2513 2625 if templ_7745c5c3_Err != nil { 2514 2626 return templ_7745c5c3_Err 2515 2627 } 2516 - var templ_7745c5c3_Var121 string 2517 - templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) 2628 + var templ_7745c5c3_Var125 string 2629 + templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Reason) 2518 2630 if templ_7745c5c3_Err != nil { 2519 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 485, Col: 17} 2631 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 511, Col: 25} 2520 2632 } 2521 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121)) 2633 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var125) 2522 2634 if templ_7745c5c3_Err != nil { 2523 2635 return templ_7745c5c3_Err 2524 2636 } 2525 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, " ") 2637 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, "\" :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\"> ") 2638 + if templ_7745c5c3_Err != nil { 2639 + return templ_7745c5c3_Err 2640 + } 2641 + var templ_7745c5c3_Var126 string 2642 + templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) 2643 + if templ_7745c5c3_Err != nil { 2644 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 515, Col: 17} 2645 + } 2646 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126)) 2647 + if templ_7745c5c3_Err != nil { 2648 + return templ_7745c5c3_Err 2649 + } 2650 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, " ") 2526 2651 if templ_7745c5c3_Err != nil { 2527 2652 return templ_7745c5c3_Err 2528 2653 } 2529 2654 if i < 9 { 2530 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "<kbd aria-hidden=\"true\">") 2655 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, "<kbd aria-hidden=\"true\">") 2531 2656 if templ_7745c5c3_Err != nil { 2532 2657 return templ_7745c5c3_Err 2533 2658 } 2534 - var templ_7745c5c3_Var122 string 2535 - templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) 2659 + var templ_7745c5c3_Var127 string 2660 + templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) 2536 2661 if templ_7745c5c3_Err != nil { 2537 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 487, Col: 46} 2662 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 517, Col: 46} 2538 2663 } 2539 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122)) 2664 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127)) 2540 2665 if templ_7745c5c3_Err != nil { 2541 2666 return templ_7745c5c3_Err 2542 2667 } 2543 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "</kbd>") 2668 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, "</kbd>") 2544 2669 if templ_7745c5c3_Err != nil { 2545 2670 return templ_7745c5c3_Err 2546 2671 } 2547 2672 } 2548 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, "</label>") 2673 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, "</label>") 2549 2674 if templ_7745c5c3_Err != nil { 2550 2675 return templ_7745c5c3_Err 2551 2676 } 2552 2677 } 2553 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, "</fieldset>") 2678 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, "</fieldset>") 2554 2679 if templ_7745c5c3_Err != nil { 2555 2680 return templ_7745c5c3_Err 2556 2681 } 2682 + if p.Box.Signed { 2683 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "<p class=\"d-note\" id=\"mr-signing\">squash and merge commits are signed with ermite's own key (generated on first start). ") 2684 + if templ_7745c5c3_Err != nil { 2685 + return templ_7745c5c3_Err 2686 + } 2687 + if p.Box.Fingerprint != "" { 2688 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, "fingerprint <code>") 2689 + if templ_7745c5c3_Err != nil { 2690 + return templ_7745c5c3_Err 2691 + } 2692 + var templ_7745c5c3_Var128 string 2693 + templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Fingerprint) 2694 + if templ_7745c5c3_Err != nil { 2695 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 526, Col: 45} 2696 + } 2697 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128)) 2698 + if templ_7745c5c3_Err != nil { 2699 + return templ_7745c5c3_Err 2700 + } 2701 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "</code> ") 2702 + if templ_7745c5c3_Err != nil { 2703 + return templ_7745c5c3_Err 2704 + } 2705 + } 2706 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "<code>ermite signing-key show</code> prints it.</p>") 2707 + if templ_7745c5c3_Err != nil { 2708 + return templ_7745c5c3_Err 2709 + } 2710 + } 2557 2711 if p.Box.CanDeleteBranch { 2558 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete ") 2712 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete ") 2559 2713 if templ_7745c5c3_Err != nil { 2560 2714 return templ_7745c5c3_Err 2561 2715 } 2562 - var templ_7745c5c3_Var123 string 2563 - templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 2716 + var templ_7745c5c3_Var129 string 2717 + templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 2564 2718 if templ_7745c5c3_Err != nil { 2565 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 493, Col: 102} 2719 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 102} 2566 2720 } 2567 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123)) 2721 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129)) 2568 2722 if templ_7745c5c3_Err != nil { 2569 2723 return templ_7745c5c3_Err 2570 2724 } 2571 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>") 2725 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>") 2572 2726 if templ_7745c5c3_Err != nil { 2573 2727 return templ_7745c5c3_Err 2574 2728 } 2575 2729 } 2576 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default>Merge into ") 2730 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default") 2577 2731 if templ_7745c5c3_Err != nil { 2578 2732 return templ_7745c5c3_Err 2579 2733 } 2580 - var templ_7745c5c3_Var124 string 2581 - templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2734 + if !p.Box.CanMerge() { 2735 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, " disabled") 2736 + if templ_7745c5c3_Err != nil { 2737 + return templ_7745c5c3_Err 2738 + } 2739 + } 2740 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, " title=\"") 2741 + if templ_7745c5c3_Err != nil { 2742 + return templ_7745c5c3_Err 2743 + } 2744 + var templ_7745c5c3_Var130 string 2745 + templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeTitle()) 2582 2746 if templ_7745c5c3_Err != nil { 2583 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 496, Col: 82} 2747 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 540, Col: 33} 2584 2748 } 2585 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124)) 2749 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var130) 2586 2750 if templ_7745c5c3_Err != nil { 2587 2751 return templ_7745c5c3_Err 2588 2752 } 2589 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "</button></div></form>") 2753 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, "\" :disabled=\"!this.form.querySelector('input[name=mode]:checked:not(:disabled)')\" :title=\"(this.form.querySelector('input[name=mode]:checked') || {}).title || ''\">Merge into ") 2754 + if templ_7745c5c3_Err != nil { 2755 + return templ_7745c5c3_Err 2756 + } 2757 + var templ_7745c5c3_Var131 string 2758 + templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2759 + if templ_7745c5c3_Err != nil { 2760 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 543, Col: 28} 2761 + } 2762 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131)) 2763 + if templ_7745c5c3_Err != nil { 2764 + return templ_7745c5c3_Err 2765 + } 2766 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, "</button></div></form>") 2590 2767 if templ_7745c5c3_Err != nil { 2591 2768 return templ_7745c5c3_Err 2592 2769 } 2593 2770 } 2594 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, "</div></details>") 2771 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "</div></details>") 2772 + if templ_7745c5c3_Err != nil { 2773 + return templ_7745c5c3_Err 2774 + } 2775 + return nil 2776 + }) 2777 + } 2778 + 2779 + // MRMergeability is the content of the mergeability slot: the badge, and the 2780 + // state the controls of the merge box read. 2781 + func MRMergeability(v MergeabilityView) templ.Component { 2782 + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { 2783 + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context 2784 + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { 2785 + return templ_7745c5c3_CtxErr 2786 + } 2787 + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) 2788 + if !templ_7745c5c3_IsBuffer { 2789 + defer func() { 2790 + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) 2791 + if templ_7745c5c3_Err == nil { 2792 + templ_7745c5c3_Err = templ_7745c5c3_BufErr 2793 + } 2794 + }() 2795 + } 2796 + ctx = templ.InitializeContext(ctx) 2797 + templ_7745c5c3_Var132 := templ.GetChildren(ctx) 2798 + if templ_7745c5c3_Var132 == nil { 2799 + templ_7745c5c3_Var132 = templ.NopComponent 2800 + } 2801 + ctx = templ.ClearChildren(ctx) 2802 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "<span data-mergeability data-state=\"") 2803 + if templ_7745c5c3_Err != nil { 2804 + return templ_7745c5c3_Err 2805 + } 2806 + var templ_7745c5c3_Var133 string 2807 + templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) 2808 + if templ_7745c5c3_Err != nil { 2809 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 556, Col: 22} 2810 + } 2811 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var133) 2812 + if templ_7745c5c3_Err != nil { 2813 + return templ_7745c5c3_Err 2814 + } 2815 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "\" data-ff-ok=\"") 2816 + if templ_7745c5c3_Err != nil { 2817 + return templ_7745c5c3_Err 2818 + } 2819 + var templ_7745c5c3_Var134 string 2820 + templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.FFOk)) 2821 + if templ_7745c5c3_Err != nil { 2822 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 557, Col: 41} 2823 + } 2824 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var134) 2825 + if templ_7745c5c3_Err != nil { 2826 + return templ_7745c5c3_Err 2827 + } 2828 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, "\" data-merge-ok=\"") 2829 + if templ_7745c5c3_Err != nil { 2830 + return templ_7745c5c3_Err 2831 + } 2832 + var templ_7745c5c3_Var135 string 2833 + templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.MergeOk)) 2834 + if templ_7745c5c3_Err != nil { 2835 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 558, Col: 47} 2836 + } 2837 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var135) 2838 + if templ_7745c5c3_Err != nil { 2839 + return templ_7745c5c3_Err 2840 + } 2841 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "\" data-ff-reason=\"") 2842 + if templ_7745c5c3_Err != nil { 2843 + return templ_7745c5c3_Err 2844 + } 2845 + var templ_7745c5c3_Var136 string 2846 + templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.FFReason) 2847 + if templ_7745c5c3_Err != nil { 2848 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 559, Col: 29} 2849 + } 2850 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var136) 2851 + if templ_7745c5c3_Err != nil { 2852 + return templ_7745c5c3_Err 2853 + } 2854 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "\" data-merge-reason=\"") 2855 + if templ_7745c5c3_Err != nil { 2856 + return templ_7745c5c3_Err 2857 + } 2858 + var templ_7745c5c3_Var137 string 2859 + templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.MergeReason) 2860 + if templ_7745c5c3_Err != nil { 2861 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 560, Col: 35} 2862 + } 2863 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var137) 2864 + if templ_7745c5c3_Err != nil { 2865 + return templ_7745c5c3_Err 2866 + } 2867 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, "\"><span class=\"badge\" data-state=\"") 2868 + if templ_7745c5c3_Err != nil { 2869 + return templ_7745c5c3_Err 2870 + } 2871 + var templ_7745c5c3_Var138 string 2872 + templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) 2873 + if templ_7745c5c3_Err != nil { 2874 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 562, Col: 42} 2875 + } 2876 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var138) 2877 + if templ_7745c5c3_Err != nil { 2878 + return templ_7745c5c3_Err 2879 + } 2880 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, "\">") 2881 + if templ_7745c5c3_Err != nil { 2882 + return templ_7745c5c3_Err 2883 + } 2884 + var templ_7745c5c3_Var139 string 2885 + templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) 2886 + if templ_7745c5c3_Err != nil { 2887 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 562, Col: 54} 2888 + } 2889 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139)) 2890 + if templ_7745c5c3_Err != nil { 2891 + return templ_7745c5c3_Err 2892 + } 2893 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, "</span> ") 2894 + if templ_7745c5c3_Err != nil { 2895 + return templ_7745c5c3_Err 2896 + } 2897 + if v.Detail != "" { 2898 + var templ_7745c5c3_Var140 string 2899 + templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.JoinStringErrs(" ") 2900 + if templ_7745c5c3_Err != nil { 2901 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 8} 2902 + } 2903 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var140)) 2904 + if templ_7745c5c3_Err != nil { 2905 + return templ_7745c5c3_Err 2906 + } 2907 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, "<span class=\"dim\">") 2908 + if templ_7745c5c3_Err != nil { 2909 + return templ_7745c5c3_Err 2910 + } 2911 + var templ_7745c5c3_Var141 string 2912 + templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.JoinStringErrs(v.Detail) 2913 + if templ_7745c5c3_Err != nil { 2914 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 38} 2915 + } 2916 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var141)) 2917 + if templ_7745c5c3_Err != nil { 2918 + return templ_7745c5c3_Err 2919 + } 2920 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "</span>") 2921 + if templ_7745c5c3_Err != nil { 2922 + return templ_7745c5c3_Err 2923 + } 2924 + } 2925 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, "</span> ") 2926 + if templ_7745c5c3_Err != nil { 2927 + return templ_7745c5c3_Err 2928 + } 2929 + if len(v.Paths) > 0 { 2930 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, "<ul class=\"mg-paths\" aria-label=\"conflicting files\">") 2931 + if templ_7745c5c3_Err != nil { 2932 + return templ_7745c5c3_Err 2933 + } 2934 + for _, path := range v.Paths { 2935 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "<li><code>") 2936 + if templ_7745c5c3_Err != nil { 2937 + return templ_7745c5c3_Err 2938 + } 2939 + var templ_7745c5c3_Var142 string 2940 + templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.JoinStringErrs(path) 2941 + if templ_7745c5c3_Err != nil { 2942 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 570, Col: 20} 2943 + } 2944 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var142)) 2945 + if templ_7745c5c3_Err != nil { 2946 + return templ_7745c5c3_Err 2947 + } 2948 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "</code></li>") 2949 + if templ_7745c5c3_Err != nil { 2950 + return templ_7745c5c3_Err 2951 + } 2952 + } 2953 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 279, "</ul>") 2954 + if templ_7745c5c3_Err != nil { 2955 + return templ_7745c5c3_Err 2956 + } 2957 + } 2958 + if v.PathsNote != "" { 2959 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 280, "<p class=\"dim\">") 2960 + if templ_7745c5c3_Err != nil { 2961 + return templ_7745c5c3_Err 2962 + } 2963 + var templ_7745c5c3_Var143 string 2964 + templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.JoinStringErrs(v.PathsNote) 2965 + if templ_7745c5c3_Err != nil { 2966 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 575, Col: 30} 2967 + } 2968 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var143)) 2969 + if templ_7745c5c3_Err != nil { 2970 + return templ_7745c5c3_Err 2971 + } 2972 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 281, "</p>") 2973 + if templ_7745c5c3_Err != nil { 2974 + return templ_7745c5c3_Err 2975 + } 2976 + } 2977 + return nil 2978 + }) 2979 + } 2980 + 2981 + // mrMergeabilitySlot is the status region of the badge, with its content: the 2982 + // stream replaces the children, never the element (see LiveSlot). 2983 + func mrMergeabilitySlot(v MergeabilityView) templ.Component { 2984 + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { 2985 + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context 2986 + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { 2987 + return templ_7745c5c3_CtxErr 2988 + } 2989 + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) 2990 + if !templ_7745c5c3_IsBuffer { 2991 + defer func() { 2992 + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) 2993 + if templ_7745c5c3_Err == nil { 2994 + templ_7745c5c3_Err = templ_7745c5c3_BufErr 2995 + } 2996 + }() 2997 + } 2998 + ctx = templ.InitializeContext(ctx) 2999 + templ_7745c5c3_Var144 := templ.GetChildren(ctx) 3000 + if templ_7745c5c3_Var144 == nil { 3001 + templ_7745c5c3_Var144 = templ.NopComponent 3002 + } 3003 + ctx = templ.ClearChildren(ctx) 3004 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 282, "<div id=\"mr-mergeability\" class=\"live-slot\" role=\"status\" data-slot>") 3005 + if templ_7745c5c3_Err != nil { 3006 + return templ_7745c5c3_Err 3007 + } 3008 + templ_7745c5c3_Err = MRMergeability(v).Render(ctx, templ_7745c5c3_Buffer) 3009 + if templ_7745c5c3_Err != nil { 3010 + return templ_7745c5c3_Err 3011 + } 3012 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 283, "</div>") 3013 + if templ_7745c5c3_Err != nil { 3014 + return templ_7745c5c3_Err 3015 + } 3016 + return nil 3017 + }) 3018 + } 3019 + 3020 + // MRMergeabilityFragment is the slot as the stream sends it. 3021 + func MRMergeabilityFragment(v MergeabilityView) templ.Component { 3022 + return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { 3023 + templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context 3024 + if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil { 3025 + return templ_7745c5c3_CtxErr 3026 + } 3027 + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) 3028 + if !templ_7745c5c3_IsBuffer { 3029 + defer func() { 3030 + templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer) 3031 + if templ_7745c5c3_Err == nil { 3032 + templ_7745c5c3_Err = templ_7745c5c3_BufErr 3033 + } 3034 + }() 3035 + } 3036 + ctx = templ.InitializeContext(ctx) 3037 + templ_7745c5c3_Var145 := templ.GetChildren(ctx) 3038 + if templ_7745c5c3_Var145 == nil { 3039 + templ_7745c5c3_Var145 = templ.NopComponent 3040 + } 3041 + ctx = templ.ClearChildren(ctx) 3042 + templ_7745c5c3_Err = mrMergeabilitySlot(v).Render(ctx, templ_7745c5c3_Buffer) 2595 3043 if templ_7745c5c3_Err != nil { 2596 3044 return templ_7745c5c3_Err 2597 3045 } ⋯ 5 hidden lines@@ -2730,263 +3178,263 @@ func Compare(l Layout, p ComparePage) templ.Component { 2730 3178 }() 2731 3179 } 2732 3180 ctx = templ.InitializeContext(ctx) 2733 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "<header class=\"show mr-h\"><h1>") 3181 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "<header class=\"show mr-h\"><h1>") 2734 3182 if templ_7745c5c3_Err != nil { 2735 3183 return templ_7745c5c3_Err 2736 3184 } 2737 - var templ_7745c5c3_Var131 string 2738 - templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 3185 + var templ_7745c5c3_Var152 string 3186 + templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 2739 3187 if templ_7745c5c3_Err != nil { 2740 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 17} 3188 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 620, Col: 17} 2741 3189 } 2742 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131)) 3190 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) 2743 3191 if templ_7745c5c3_Err != nil { 2744 3192 return templ_7745c5c3_Err 2745 3193 } 2746 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, " → ") 3194 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, " → ") 2747 3195 if templ_7745c5c3_Err != nil { 2748 3196 return templ_7745c5c3_Err 2749 3197 } 2750 - var templ_7745c5c3_Var132 string 2751 - templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3198 + var templ_7745c5c3_Var153 string 3199 + templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2752 3200 if templ_7745c5c3_Err != nil { 2753 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 34} 3201 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 620, Col: 34} 2754 3202 } 2755 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var132)) 3203 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153)) 2756 3204 if templ_7745c5c3_Err != nil { 2757 3205 return templ_7745c5c3_Err 2758 3206 } 2759 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"") 3207 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"") 2760 3208 if templ_7745c5c3_Err != nil { 2761 3209 return templ_7745c5c3_Err 2762 3210 } 2763 - var templ_7745c5c3_Var133 templ.SafeURL 2764 - templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) 3211 + var templ_7745c5c3_Var154 templ.SafeURL 3212 + templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) 2765 3213 if templ_7745c5c3_Err != nil { 2766 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 45} 3214 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 623, Col: 45} 2767 3215 } 2768 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var133)) 3216 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154)) 2769 3217 if templ_7745c5c3_Err != nil { 2770 3218 return templ_7745c5c3_Err 2771 3219 } 2772 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "\">") 3220 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "\">") 2773 3221 if templ_7745c5c3_Err != nil { 2774 3222 return templ_7745c5c3_Err 2775 3223 } 2776 - var templ_7745c5c3_Var134 string 2777 - templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 3224 + var templ_7745c5c3_Var155 string 3225 + templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) 2778 3226 if templ_7745c5c3_Err != nil { 2779 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 58} 3227 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 623, Col: 58} 2780 3228 } 2781 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var134)) 3229 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155)) 2782 3230 if templ_7745c5c3_Err != nil { 2783 3231 return templ_7745c5c3_Err 2784 3232 } 2785 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "</a></dd><dt>target</dt><dd><a href=\"") 3233 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 297, "</a></dd><dt>target</dt><dd><a href=\"") 2786 3234 if templ_7745c5c3_Err != nil { 2787 3235 return templ_7745c5c3_Err 2788 3236 } 2789 - var templ_7745c5c3_Var135 templ.SafeURL 2790 - templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) 3237 + var templ_7745c5c3_Var156 templ.SafeURL 3238 + templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) 2791 3239 if templ_7745c5c3_Err != nil { 2792 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 537, Col: 45} 3240 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 625, Col: 45} 2793 3241 } 2794 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135)) 3242 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156)) 2795 3243 if templ_7745c5c3_Err != nil { 2796 3244 return templ_7745c5c3_Err 2797 3245 } 2798 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "\">") 3246 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 298, "\">") 2799 3247 if templ_7745c5c3_Err != nil { 2800 3248 return templ_7745c5c3_Err 2801 3249 } 2802 - var templ_7745c5c3_Var136 string 2803 - templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3250 + var templ_7745c5c3_Var157 string 3251 + templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 2804 3252 if templ_7745c5c3_Err != nil { 2805 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 537, Col: 58} 3253 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 625, Col: 58} 2806 3254 } 2807 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136)) 3255 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var157)) 2808 3256 if templ_7745c5c3_Err != nil { 2809 3257 return templ_7745c5c3_Err 2810 3258 } 2811 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "</a></dd><dt>ahead</dt><dd>") 3259 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "</a></dd><dt>ahead</dt><dd>") 2812 3260 if templ_7745c5c3_Err != nil { 2813 3261 return templ_7745c5c3_Err 2814 3262 } 2815 - var templ_7745c5c3_Var137 string 2816 - templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) 3263 + var templ_7745c5c3_Var158 string 3264 + templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) 2817 3265 if templ_7745c5c3_Err != nil { 2818 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 539, Col: 21} 3266 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 627, Col: 21} 2819 3267 } 2820 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var137)) 3268 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) 2821 3269 if templ_7745c5c3_Err != nil { 2822 3270 return templ_7745c5c3_Err 2823 3271 } 2824 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, "</dd></dl></header>") 3272 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 300, "</dd></dl></header>") 2825 3273 if templ_7745c5c3_Err != nil { 2826 3274 return templ_7745c5c3_Err 2827 3275 } 2828 3276 if p.Note != "" { 2829 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, "<p class=\"notice\">") 3277 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 301, "<p class=\"notice\">") 2830 3278 if templ_7745c5c3_Err != nil { 2831 3279 return templ_7745c5c3_Err 2832 3280 } 2833 - var templ_7745c5c3_Var138 string 2834 - templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) 3281 + var templ_7745c5c3_Var159 string 3282 + templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) 2835 3283 if templ_7745c5c3_Err != nil { 2836 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 543, Col: 29} 3284 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 631, Col: 29} 2837 3285 } 2838 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138)) 3286 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159)) 2839 3287 if templ_7745c5c3_Err != nil { 2840 3288 return templ_7745c5c3_Err 2841 3289 } 2842 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, "</p>") 3290 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "</p>") 2843 3291 if templ_7745c5c3_Err != nil { 2844 3292 return templ_7745c5c3_Err 2845 3293 } 2846 3294 } 2847 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, " ") 3295 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, " ") 2848 3296 if templ_7745c5c3_Err != nil { 2849 3297 return templ_7745c5c3_Err 2850 3298 } 2851 3299 if p.Existing != nil { 2852 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"") 3300 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"") 2853 3301 if templ_7745c5c3_Err != nil { 2854 3302 return templ_7745c5c3_Err 2855 3303 } 2856 - var templ_7745c5c3_Var139 templ.SafeURL 2857 - templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) 3304 + var templ_7745c5c3_Var160 templ.SafeURL 3305 + templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) 2858 3306 if templ_7745c5c3_Err != nil { 2859 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 114} 3307 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 634, Col: 114} 2860 3308 } 2861 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139)) 3309 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) 2862 3310 if templ_7745c5c3_Err != nil { 2863 3311 return templ_7745c5c3_Err 2864 3312 } 2865 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "\">") 3313 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 305, "\">") 2866 3314 if templ_7745c5c3_Err != nil { 2867 3315 return templ_7745c5c3_Err 2868 3316 } 2869 - var templ_7745c5c3_Var140 string 2870 - templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) 3317 + var templ_7745c5c3_Var161 string 3318 + templ_7745c5c3_Var161, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) 2871 3319 if templ_7745c5c3_Err != nil { 2872 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 135} 3320 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 634, Col: 135} 2873 3321 } 2874 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var140)) 3322 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var161)) 2875 3323 if templ_7745c5c3_Err != nil { 2876 3324 return templ_7745c5c3_Err 2877 3325 } 2878 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "</a></p>") 3326 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 306, "</a></p>") 2879 3327 if templ_7745c5c3_Err != nil { 2880 3328 return templ_7745c5c3_Err 2881 3329 } 2882 3330 } 2883 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, " ") 3331 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 307, " ") 2884 3332 if templ_7745c5c3_Err != nil { 2885 3333 return templ_7745c5c3_Err 2886 3334 } 2887 3335 if p.Create != nil { 2888 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "<form class=\"cform create\" method=\"post\" action=\"") 3336 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 308, "<form class=\"cform create\" method=\"post\" action=\"") 2889 3337 if templ_7745c5c3_Err != nil { 2890 3338 return templ_7745c5c3_Err 2891 3339 } 2892 - var templ_7745c5c3_Var141 templ.SafeURL 2893 - templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) 3340 + var templ_7745c5c3_Var162 templ.SafeURL 3341 + templ_7745c5c3_Var162, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) 2894 3342 if templ_7745c5c3_Err != nil { 2895 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 549, Col: 83} 3343 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 637, Col: 83} 2896 3344 } 2897 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var141)) 3345 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var162)) 2898 3346 if templ_7745c5c3_Err != nil { 2899 3347 return templ_7745c5c3_Err 2900 3348 } 2901 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "\"><input type=\"hidden\" name=\"source\" value=\"") 3349 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 309, "\"><input type=\"hidden\" name=\"source\" value=\"") 2902 3350 if templ_7745c5c3_Err != nil { 2903 3351 return templ_7745c5c3_Err 2904 3352 } 2905 - var templ_7745c5c3_Var142 string 2906 - templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) 3353 + var templ_7745c5c3_Var163 string 3354 + templ_7745c5c3_Var163, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) 2907 3355 if templ_7745c5c3_Err != nil { 2908 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 550, Col: 62} 3356 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 638, Col: 62} 2909 3357 } 2910 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142) 3358 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var163) 2911 3359 if templ_7745c5c3_Err != nil { 2912 3360 return templ_7745c5c3_Err 2913 3361 } 2914 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, "\"> <input type=\"hidden\" name=\"target\" value=\"") 3362 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 310, "\"> <input type=\"hidden\" name=\"target\" value=\"") 2915 3363 if templ_7745c5c3_Err != nil { 2916 3364 return templ_7745c5c3_Err 2917 3365 } 2918 - var templ_7745c5c3_Var143 string 2919 - templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) 3366 + var templ_7745c5c3_Var164 string 3367 + templ_7745c5c3_Var164, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) 2920 3368 if templ_7745c5c3_Err != nil { 2921 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 551, Col: 62} 3369 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 639, Col: 62} 2922 3370 } 2923 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var143) 3371 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var164) 2924 3372 if templ_7745c5c3_Err != nil { 2925 3373 return templ_7745c5c3_Err 2926 3374 } 2927 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"") 3375 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 311, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"") 2928 3376 if templ_7745c5c3_Err != nil { 2929 3377 return templ_7745c5c3_Err 2930 3378 } 2931 - var templ_7745c5c3_Var144 string 2932 - templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) 3379 + var templ_7745c5c3_Var165 string 3380 + templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) 2933 3381 if templ_7745c5c3_Err != nil { 2934 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 553, Col: 97} 3382 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 641, Col: 97} 2935 3383 } 2936 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144) 3384 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var165) 2937 3385 if templ_7745c5c3_Err != nil { 2938 3386 return templ_7745c5c3_Err 2939 3387 } 2940 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, "\" 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>") 3388 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 312, "\" 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>") 2941 3389 if templ_7745c5c3_Err != nil { 2942 3390 return templ_7745c5c3_Err 2943 3391 } 2944 3392 } 2945 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, " ") 3393 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 313, " ") 2946 3394 if templ_7745c5c3_Err != nil { 2947 3395 return templ_7745c5c3_Err 2948 3396 } 2949 3397 if p.HasDiff { 2950 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">") 3398 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 314, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">") 2951 3399 if templ_7745c5c3_Err != nil { 2952 3400 return templ_7745c5c3_Err 2953 3401 } 2954 - var templ_7745c5c3_Var145 string 2955 - templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) 3402 + var templ_7745c5c3_Var166 string 3403 + templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) 2956 3404 if templ_7745c5c3_Err != nil { 2957 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 57} 3405 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 651, Col: 57} 2958 3406 } 2959 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145)) 3407 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166)) 2960 3408 if templ_7745c5c3_Err != nil { 2961 3409 return templ_7745c5c3_Err 2962 3410 } 2963 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, " · <span class=\"plus\">+") 3411 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 315, " · <span class=\"plus\">+") 2964 3412 if templ_7745c5c3_Err != nil { 2965 3413 return templ_7745c5c3_Err 2966 3414 } 2967 - var templ_7745c5c3_Var146 string 2968 - templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) 3415 + var templ_7745c5c3_Var167 string 3416 + templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) 2969 3417 if templ_7745c5c3_Err != nil { 2970 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 97} 3418 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 651, Col: 97} 2971 3419 } 2972 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146)) 3420 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167)) 2973 3421 if templ_7745c5c3_Err != nil { 2974 3422 return templ_7745c5c3_Err 2975 3423 } 2976 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, "</span> <span class=\"minus\">-") 3424 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 316, "</span> <span class=\"minus\">-") 2977 3425 if templ_7745c5c3_Err != nil { 2978 3426 return templ_7745c5c3_Err 2979 3427 } 2980 - var templ_7745c5c3_Var147 string 2981 - templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) 3428 + var templ_7745c5c3_Var168 string 3429 + templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) 2982 3430 if templ_7745c5c3_Err != nil { 2983 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 563, Col: 142} 3431 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 651, Col: 142} 2984 3432 } 2985 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var147)) 3433 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var168)) 2986 3434 if templ_7745c5c3_Err != nil { 2987 3435 return templ_7745c5c3_Err 2988 3436 } 2989 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "</span></span> <span class=\"grow\"></span>") 3437 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 317, "</span></span> <span class=\"grow\"></span>") 2990 3438 if templ_7745c5c3_Err != nil { 2991 3439 return templ_7745c5c3_Err 2992 3440 } ⋯ 17 hidden lines@@ -3092,173 +3540,173 @@ func compareRail(p ComparePage) templ.Component { 3092 3540 }() 3093 3541 } 3094 3542 ctx = templ.InitializeContext(ctx) 3095 - templ_7745c5c3_Var150 := templ.GetChildren(ctx) 3096 - if templ_7745c5c3_Var150 == nil { 3097 - templ_7745c5c3_Var150 = templ.NopComponent 3543 + templ_7745c5c3_Var171 := templ.GetChildren(ctx) 3544 + if templ_7745c5c3_Var171 == nil { 3545 + templ_7745c5c3_Var171 = templ.NopComponent 3098 3546 } 3099 3547 ctx = templ.ClearChildren(ctx) 3100 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 288, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">") 3548 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 328, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">") 3101 3549 if templ_7745c5c3_Err != nil { 3102 3550 return templ_7745c5c3_Err 3103 3551 } 3104 - var templ_7745c5c3_Var151 string 3105 - templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) 3552 + var templ_7745c5c3_Var172 string 3553 + templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) 3106 3554 if templ_7745c5c3_Err != nil { 3107 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 594, Col: 67} 3555 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 682, Col: 67} 3108 3556 } 3109 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151)) 3557 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172)) 3110 3558 if templ_7745c5c3_Err != nil { 3111 3559 return templ_7745c5c3_Err 3112 3560 } 3113 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 289, "</span></h2><ul class=\"pcommits\">") 3561 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 329, "</span></h2><ul class=\"pcommits\">") 3114 3562 if templ_7745c5c3_Err != nil { 3115 3563 return templ_7745c5c3_Err 3116 3564 } 3117 3565 for _, c := range p.Ahead { 3118 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 290, "<li><a href=\"") 3566 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 330, "<li><a href=\"") 3119 3567 if templ_7745c5c3_Err != nil { 3120 3568 return templ_7745c5c3_Err 3121 3569 } 3122 - var templ_7745c5c3_Var152 templ.SafeURL 3123 - templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) 3570 + var templ_7745c5c3_Var173 templ.SafeURL 3571 + templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) 3124 3572 if templ_7745c5c3_Err != nil { 3125 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 598, Col: 37} 3573 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 686, Col: 37} 3126 3574 } 3127 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) 3575 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173)) 3128 3576 if templ_7745c5c3_Err != nil { 3129 3577 return templ_7745c5c3_Err 3130 3578 } 3131 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 291, "\">") 3579 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 331, "\">") 3132 3580 if templ_7745c5c3_Err != nil { 3133 3581 return templ_7745c5c3_Err 3134 3582 } 3135 - var templ_7745c5c3_Var153 string 3136 - templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) 3583 + var templ_7745c5c3_Var174 string 3584 + templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) 3137 3585 if templ_7745c5c3_Err != nil { 3138 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 598, Col: 49} 3586 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 686, Col: 49} 3139 3587 } 3140 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153)) 3588 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var174)) 3141 3589 if templ_7745c5c3_Err != nil { 3142 3590 return templ_7745c5c3_Err 3143 3591 } 3144 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 292, "</a> <span class=\"s\">") 3592 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 332, "</a> <span class=\"s\">") 3145 3593 if templ_7745c5c3_Err != nil { 3146 3594 return templ_7745c5c3_Err 3147 3595 } 3148 - var templ_7745c5c3_Var154 string 3149 - templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) 3596 + var templ_7745c5c3_Var175 string 3597 + templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) 3150 3598 if templ_7745c5c3_Err != nil { 3151 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 599, Col: 32} 3599 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 687, Col: 32} 3152 3600 } 3153 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154)) 3601 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var175)) 3154 3602 if templ_7745c5c3_Err != nil { 3155 3603 return templ_7745c5c3_Err 3156 3604 } 3157 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "</span> <span class=\"mute\">") 3605 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 333, "</span> <span class=\"mute\">") 3158 3606 if templ_7745c5c3_Err != nil { 3159 3607 return templ_7745c5c3_Err 3160 3608 } 3161 - var templ_7745c5c3_Var155 string 3162 - templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 3609 + var templ_7745c5c3_Var176 string 3610 + templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) 3163 3611 if templ_7745c5c3_Err != nil { 3164 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 16} 3612 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 689, Col: 16} 3165 3613 } 3166 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155)) 3614 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var176)) 3167 3615 if templ_7745c5c3_Err != nil { 3168 3616 return templ_7745c5c3_Err 3169 3617 } 3170 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, " ") 3618 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 334, " ") 3171 3619 if templ_7745c5c3_Err != nil { 3172 3620 return templ_7745c5c3_Err 3173 3621 } 3174 3622 if c.WhenAt != "" { 3175 - var templ_7745c5c3_Var156 string 3176 - templ_7745c5c3_Var156, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") 3623 + var templ_7745c5c3_Var177 string 3624 + templ_7745c5c3_Var177, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") 3177 3625 if templ_7745c5c3_Err != nil { 3178 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 15} 3626 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 15} 3179 3627 } 3180 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var156)) 3628 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var177)) 3181 3629 if templ_7745c5c3_Err != nil { 3182 3630 return templ_7745c5c3_Err 3183 3631 } 3184 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "<time datetime=\"") 3632 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 335, "<time datetime=\"") 3185 3633 if templ_7745c5c3_Err != nil { 3186 3634 return templ_7745c5c3_Err 3187 3635 } 3188 - var templ_7745c5c3_Var157 string 3189 - templ_7745c5c3_Var157, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 3636 + var templ_7745c5c3_Var178 string 3637 + templ_7745c5c3_Var178, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) 3190 3638 if templ_7745c5c3_Err != nil { 3191 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 42} 3639 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 42} 3192 3640 } 3193 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var157) 3641 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var178) 3194 3642 if templ_7745c5c3_Err != nil { 3195 3643 return templ_7745c5c3_Err 3196 3644 } 3197 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "\">") 3645 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 336, "\">") 3198 3646 if templ_7745c5c3_Err != nil { 3199 3647 return templ_7745c5c3_Err 3200 3648 } 3201 - var templ_7745c5c3_Var158 string 3202 - templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 3649 + var templ_7745c5c3_Var179 string 3650 + templ_7745c5c3_Var179, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) 3203 3651 if templ_7745c5c3_Err != nil { 3204 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 53} 3652 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 53} 3205 3653 } 3206 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) 3654 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var179)) 3207 3655 if templ_7745c5c3_Err != nil { 3208 3656 return templ_7745c5c3_Err 3209 3657 } 3210 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 297, "</time>") 3658 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 337, "</time>") 3211 3659 if templ_7745c5c3_Err != nil { 3212 3660 return templ_7745c5c3_Err 3213 3661 } 3214 3662 } 3215 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 298, "</span></li>") 3663 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 338, "</span></li>") 3216 3664 if templ_7745c5c3_Err != nil { 3217 3665 return templ_7745c5c3_Err 3218 3666 } 3219 3667 } 3220 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "</ul>") 3668 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 339, "</ul>") 3221 3669 if templ_7745c5c3_Err != nil { 3222 3670 return templ_7745c5c3_Err 3223 3671 } 3224 3672 if len(p.Ahead) == 0 { 3225 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 300, "<p class=\"dim\">no commit ahead of ") 3673 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 340, "<p class=\"dim\">no commit ahead of ") 3226 3674 if templ_7745c5c3_Err != nil { 3227 3675 return templ_7745c5c3_Err 3228 3676 } 3229 - var templ_7745c5c3_Var159 string 3230 - templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3677 + var templ_7745c5c3_Var180 string 3678 + templ_7745c5c3_Var180, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) 3231 3679 if templ_7745c5c3_Err != nil { 3232 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 610, Col: 47} 3680 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 698, Col: 47} 3233 3681 } 3234 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159)) 3682 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var180)) 3235 3683 if templ_7745c5c3_Err != nil { 3236 3684 return templ_7745c5c3_Err 3237 3685 } 3238 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 301, ".</p>") 3686 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 341, ".</p>") 3239 3687 if templ_7745c5c3_Err != nil { 3240 3688 return templ_7745c5c3_Err 3241 3689 } 3242 3690 } 3243 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "</section>") 3691 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 342, "</section>") 3244 3692 if templ_7745c5c3_Err != nil { 3245 3693 return templ_7745c5c3_Err 3246 3694 } 3247 3695 if p.HasDiff { 3248 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") 3696 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 343, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") 3249 3697 if templ_7745c5c3_Err != nil { 3250 3698 return templ_7745c5c3_Err 3251 3699 } 3252 - var templ_7745c5c3_Var160 string 3253 - templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) 3700 + var templ_7745c5c3_Var181 string 3701 + templ_7745c5c3_Var181, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) 3254 3702 if templ_7745c5c3_Err != nil { 3255 - return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 615, Col: 66} 3703 + return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 703, Col: 66} 3256 3704 } 3257 - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) 3705 + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var181)) 3258 3706 if templ_7745c5c3_Err != nil { 3259 3707 return templ_7745c5c3_Err 3260 3708 } 3261 - templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "</span></h2>") 3709 + templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 344, "</span></h2>") 3262 3710 if templ_7745c5c3_Err != nil { 3263 3711 return templ_7745c5c3_Err 3264 3712 }