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