this repo has no description
1{{ define "title" }} 2 {{ .Pull.Title }} &middot; pull #{{ .Pull.PullId }} &middot; {{ .RepoInfo.FullName }} 3{{ end }} 4 5{{ define "repoContent" }} 6 <header class="pb-4"> 7 <h1 class="text-2xl dark:text-white"> 8 {{ .Pull.Title }} 9 <span class="text-gray-500 dark:text-gray-400">#{{ .Pull.PullId }}</span> 10 </h1> 11 </header> 12 13 {{ $bgColor := "bg-gray-800 dark:bg-gray-700" }} 14 {{ $icon := "ban" }} 15 16 {{ if .Pull.State.IsOpen }} 17 {{ $bgColor = "bg-green-600 dark:bg-green-700" }} 18 {{ $icon = "git-pull-request" }} 19 {{ else if .Pull.State.IsMerged }} 20 {{ $bgColor = "bg-purple-600 dark:bg-purple-700" }} 21 {{ $icon = "git-merge" }} 22 {{ end }} 23 24 <section> 25 <div class="flex items-center gap-2"> 26 <div 27 id="state" 28 class="inline-flex items-center rounded px-3 py-1 {{ $bgColor }}" 29 > 30 {{ i $icon "w-4 h-4 mr-1.5 text-white" }} 31 <span class="text-white">{{ .Pull.State.String }}</span> 32 </div> 33 <span class="text-gray-500 dark:text-gray-400 text-sm"> 34 opened by 35 {{ $owner := index $.DidHandleMap .Pull.OwnerDid }} 36 <a href="/{{ $owner }}" class="no-underline hover:underline" 37 >{{ $owner }}</a 38 > 39 <span class="select-none before:content-['\00B7']"></span> 40 <time>{{ .Pull.Created | timeFmt }}</time> 41 <span class="select-none before:content-['\00B7']"></span> 42 <span> 43 targeting 44 <span class="text-xs rounded bg-gray-100 dark:bg-gray-700 text-black dark:text-white font-mono px-2 mx-1/2 inline-flex items-center"> 45 {{ .Pull.TargetBranch }} 46 </span> 47 </span> 48 {{ if not .Pull.IsPatch }} 49 <span>from 50 {{ if not .Pull.IsSameRepoBranch }} 51 <span class="text-xs rounded bg-gray-100 dark:bg-gray-700 text-black dark:text-white font-mono px-2 mx-1/2 inline-flex items-center"> 52 {{ .Pull.PullSource.Repo }} 53 </span> 54 <span class="select-none">/</span> 55 {{ end }} 56 <span class="text-xs rounded bg-gray-100 dark:bg-gray-700 text-black dark:text-white font-mono px-2 mx-1/2 inline-flex items-center"> 57 {{ .Pull.PullSource.Branch }} 58 </span> 59 </span> 60 {{ end }} 61 </span> 62 </div> 63 64 {{ if .Pull.Body }} 65 <article id="body" class="mt-2 prose dark:prose-invert"> 66 {{ .Pull.Body | markdown }} 67 </article> 68 {{ end }} 69 </section> 70 71{{ end }} 72 73{{ define "repoAfter" }} 74 <section id="submissions" class="mt-4"> 75 <div class="flex flex-col gap-4"> 76 {{ block "submissions" . }} {{ end }} 77 </div> 78 </section> 79 80 <div id="pull-close"></div> 81 <div id="pull-reopen"></div> 82{{ end }} 83 84{{ define "submissions" }} 85 {{ $lastIdx := sub (len .Pull.Submissions) 1 }} 86 {{ $targetBranch := .Pull.TargetBranch }} 87 {{ $repoName := .RepoInfo.FullName }} 88 {{ range $idx, $item := .Pull.Submissions }} 89 {{ $diff := $item.AsNiceDiff $targetBranch }} 90 {{ with $item }} 91 <details {{ if eq $idx $lastIdx }}open{{ end }}> 92 <summary id="round-#{{ .RoundNumber }}" class="list-none cursor-pointer"> 93 <div class="flex flex-wrap gap-2 items-center"> 94 <!-- round number --> 95 <div class="rounded bg-white dark:bg-gray-800 drop-shadow-sm px-3 py-2 dark:text-white"> 96 #{{ .RoundNumber }} 97 </div> 98 <!-- round summary --> 99 <div class="rounded drop-shadow-sm bg-white dark:bg-gray-800 p-2 text-gray-500 dark:text-gray-400"> 100 <span> 101 {{ $owner := index $.DidHandleMap $.Pull.OwnerDid }} 102 {{ $re := "re" }} 103 {{ if eq .RoundNumber 0 }} 104 {{ $re = "" }} 105 {{ end }} 106 <span class="hidden md:inline">{{$re}}submitted</span> 107 by <a href="/{{ $owner }}">{{ $owner }}</a> 108 <span class="select-none before:content-['\00B7']"></span> 109 <a class="text-gray-500 dark:text-gray-400 hover:text-gray-500" href="#round-#{{ .RoundNumber }}"><time>{{ .Created | shortTimeFmt }}</time></a> 110 <span class="select-none before:content-['·']"></span> 111 {{ $s := "s" }} 112 {{ if eq (len .Comments) 1 }} 113 {{ $s = "" }} 114 {{ end }} 115 {{ len .Comments }} comment{{$s}} 116 </span> 117 </div> 118 <!-- view patch --> 119 <a class="btn flex items-center gap-2 no-underline hover:no-underline p-2" 120 hx-boost="true" 121 href="/{{ $.RepoInfo.FullName }}/pulls/{{ $.Pull.PullId }}/round/{{.RoundNumber}}"> 122 {{ i "file-diff" "w-4 h-4" }} <span class="hidden md:inline">view patch</span> 123 </a> 124 </div> 125 </summary> 126 <div class="md:pl-12 flex flex-col gap-2 mt-2 relative"> 127 {{ range .Comments }} 128 <div id="comment-{{.ID}}" class="bg-white dark:bg-gray-800 rounded drop-shadow-sm py-2 px-4 relative w-fit"> 129 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 130 <div class="text-sm text-gray-500 dark:text-gray-400"> 131 {{ $owner := index $.DidHandleMap .OwnerDid }} 132 <a href="/{{$owner}}">{{$owner}}</a> 133 <span class="before:content-['·']"></span> 134 <a class="text-gray-500 dark:text-gray-400 hover:text-gray-500 dark:hover:text-gray-300" href="#comment-{{.ID}}"><time>{{ .Created | shortTimeFmt }}</time></a> 135 </div> 136 <div class="prose dark:prose-invert"> 137 {{ .Body | markdown }} 138 </div> 139 </div> 140 {{ end }} 141 142 {{ if eq $lastIdx .RoundNumber }} 143 {{ block "mergeStatus" $ }} {{ end }} 144 {{ block "resubmitStatus" $ }} {{ end }} 145 {{ end }} 146 147 {{ if $.LoggedInUser }} 148 {{ template "fragments/pullActions" (dict "LoggedInUser" $.LoggedInUser "Pull" $.Pull "RepoInfo" $.RepoInfo "RoundNumber" .RoundNumber "MergeCheck" $.MergeCheck "ResubmitCheck" $.ResubmitCheck) }} 149 {{ else }} 150 <div class="bg-white dark:bg-gray-800 rounded drop-shadow-sm px-6 py-4 w-fit dark:text-white"> 151 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 152 <a href="/login" class="underline">login</a> to join the discussion 153 </div> 154 {{ end }} 155 </div> 156 </details> 157 <hr class="md:hidden"/> 158 {{ end }} 159 {{ end }} 160{{ end }} 161 162{{ define "mergeStatus" }} 163 {{ if .Pull.State.IsClosed }} 164 <div class="bg-gray-50 dark:bg-gray-700 border border-black dark:border-gray-500 rounded drop-shadow-sm px-6 py-2 relative w-fit"> 165 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 166 <div class="flex items-center gap-2 text-black dark:text-white"> 167 {{ i "ban" "w-4 h-4" }} 168 <span class="font-medium">closed without merging</span 169 > 170 </div> 171 </div> 172 {{ else if .Pull.State.IsMerged }} 173 <div class="bg-purple-50 dark:bg-purple-900 border border-purple-500 rounded drop-shadow-sm px-6 py-2 relative w-fit"> 174 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 175 <div class="flex items-center gap-2 text-purple-500 dark:text-purple-300"> 176 {{ i "git-merge" "w-4 h-4" }} 177 <span class="font-medium">pull request successfully merged</span 178 > 179 </div> 180 </div> 181 {{ else if and .MergeCheck .MergeCheck.Error }} 182 <div class="bg-red-50 dark:bg-red-900 border border-red-500 rounded drop-shadow-sm px-6 py-2 relative w-fit"> 183 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 184 <div class="flex items-center gap-2 text-red-500 dark:text-red-300"> 185 {{ i "triangle-alert" "w-4 h-4" }} 186 <span class="font-medium">{{ .MergeCheck.Error }}</span> 187 </div> 188 </div> 189 {{ else if and .MergeCheck .MergeCheck.IsConflicted }} 190 <div class="bg-red-50 dark:bg-red-900 border border-red-500 rounded drop-shadow-sm px-6 py-2 relative w-fit"> 191 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 192 <div class="flex flex-col gap-2 text-red-500 dark:text-red-300"> 193 <div class="flex items-center gap-2"> 194 {{ i "triangle-alert" "w-4 h-4" }} 195 <span class="font-medium">merge conflicts detected</span> 196 </div> 197 <ul class="space-y-1"> 198 {{ range .MergeCheck.Conflicts }} 199 {{ if .Filename }} 200 <li class="flex items-center"> 201 {{ i "file-warning" "w-4 h-4 mr-1.5 text-red-500 dark:text-red-300" }} 202 <span class="font-mono">{{ slice .Filename 0 (sub (len .Filename) 2) }}</span> 203 </li> 204 {{ end }} 205 {{ end }} 206 </ul> 207 </div> 208 </div> 209 {{ else if .MergeCheck }} 210 <div class="bg-green-50 dark:bg-green-900 border border-green-500 rounded drop-shadow-sm px-6 py-2 relative w-fit"> 211 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 212 <div class="flex items-center gap-2 text-green-500 dark:text-green-300"> 213 {{ i "circle-check-big" "w-4 h-4" }} 214 <span class="font-medium">no conflicts, ready to merge</span> 215 </div> 216 </div> 217 {{ end }} 218{{ end }} 219 220{{ define "resubmitStatus" }} 221 {{ if .ResubmitCheck.Yes }} 222 <div class="bg-amber-50 dark:bg-amber-900 border border-amber-500 rounded drop-shadow-sm px-6 py-2 relative w-fit"> 223 <div class="absolute left-8 -top-2 w-px h-2 bg-gray-300 dark:bg-gray-600"></div> 224 <div class="flex items-center gap-2 text-amber-500 dark:text-amber-300"> 225 {{ i "triangle-alert" "w-4 h-4" }} 226 <span class="font-medium">this branch has been updated, consider resubmitting</span> 227 </div> 228 </div> 229 {{ end }} 230{{ end }}