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