this repo has no description
1{{ define "title" }}{{ resolve .Card.UserDid }}{{ end }} 2 3{{ define "profileContent" }} 4 <div id="all-repos" class="md:col-span-4 order-2 md:order-2"> 5 <div class="grid grid-cols-1 gap-4"> 6 {{ block "ownRepos" . }}{{ end }} 7 {{ block "collaboratingRepos" . }}{{ end }} 8 </div> 9 </div> 10 <div class="md:col-span-4 order-3 md:order-3"> 11 {{ block "profileTimeline" . }}{{ end }} 12 </div> 13{{ end }} 14 15{{ define "profileTimeline" }} 16 <p class="text-sm font-bold px-2 pb-4 dark:text-white">ACTIVITY</p> 17 <div class="flex flex-col gap-4 relative"> 18 {{ if .ProfileTimeline.IsEmpty }} 19 <p class="dark:text-white">This user does not have any activity yet.</p> 20 {{ end }} 21 22 {{ with .ProfileTimeline }} 23 {{ range $idx, $byMonth := .ByMonth }} 24 {{ with $byMonth }} 25 {{ if not .IsEmpty }} 26 <div class="border border-gray-200 dark:border-gray-700 rounded-sm py-4 px-6"> 27 <p class="text-sm font-mono mb-2 text-gray-500 dark:text-gray-400"> 28 {{ if eq $idx 0 }} 29 this month 30 {{ else }} 31 {{$idx}} month{{if ne $idx 1}}s{{end}} ago 32 {{ end }} 33 </p> 34 35 <div class="flex flex-col gap-1"> 36 {{ block "commits" .Commits }} {{ end }} 37 {{ block "repoEvents" .RepoEvents }} {{ end }} 38 {{ block "issueEvents" .IssueEvents }} {{ end }} 39 {{ block "pullEvents" .PullEvents }} {{ end }} 40 </div> 41 </div> 42 {{ end }} 43 {{ end }} 44 {{ end }} 45 {{ end }} 46 </div> 47{{ end }} 48 49{{ define "commits" }} 50 {{ if . }} 51 <div class="flex flex-wrap items-center gap-1"> 52 {{ i "git-commit-horizontal" "size-5" }} 53 created {{ . }} commits 54 </div> 55 {{ end }} 56{{ end }} 57 58{{ define "repoEvents" }} 59 {{ if gt (len .) 0 }} 60 <details> 61 <summary class="list-none cursor-pointer hover:text-gray-500 hover:dark:text-gray-400"> 62 <div class="flex flex-wrap items-center gap-2"> 63 {{ i "book-plus" "w-4 h-4" }} 64 created {{ len . }} {{if eq (len .) 1 }}repository{{else}}repositories{{end}} 65 </div> 66 </summary> 67 <div class="py-2 text-sm flex flex-col gap-3 mb-2"> 68 {{ range . }} 69 <div class="flex flex-wrap items-center justify-between gap-2"> 70 <span class="flex items-center gap-2"> 71 <span class="text-gray-500 dark:text-gray-400"> 72 {{ if .Source }} 73 {{ i "git-fork" "w-4 h-4" }} 74 {{ else }} 75 {{ i "book-plus" "w-4 h-4" }} 76 {{ end }} 77 </span> 78 <a href="/{{ resolve .Repo.Did }}/{{ .Repo.Name }}" class="no-underline hover:underline"> 79 {{- .Repo.Name -}} 80 </a> 81 </span> 82 83 {{ with .Repo.RepoStats }} 84 {{ with .Language }} 85 <div class="flex gap-2 items-center text-xs font-mono text-gray-400 "> 86 {{ template "repo/fragments/colorBall" (dict "color" (langColor .)) }} 87 <span>{{ . }}</span> 88 </div> 89 {{end }} 90 {{end }} 91 </div> 92 {{ end }} 93 </div> 94 </details> 95 {{ end }} 96{{ end }} 97 98{{ define "issueEvents" }} 99 {{ $items := .Items }} 100 {{ $stats := .Stats }} 101 102 {{ if gt (len $items) 0 }} 103 <details> 104 <summary class="list-none cursor-pointer hover:text-gray-500 hover:dark:text-gray-400"> 105 <div class="flex flex-wrap items-center gap-2"> 106 {{ i "circle-dot" "w-4 h-4" }} 107 108 <div> 109 created {{ len $items }} {{if eq (len $items) 1 }}issue{{else}}issues{{end}} 110 </div> 111 112 {{ if gt $stats.Open 0 }} 113 <span class="px-2 py-1/2 text-sm rounded text-white bg-green-600 dark:bg-green-700"> 114 {{$stats.Open}} open 115 </span> 116 {{ end }} 117 118 {{ if gt $stats.Closed 0 }} 119 <span class="px-2 py-1/2 text-sm rounded text-white bg-gray-800 dark:bg-gray-700"> 120 {{$stats.Closed}} closed 121 </span> 122 {{ end }} 123 124 </div> 125 </summary> 126 <div class="py-2 text-sm flex flex-col gap-3 mb-2"> 127 {{ range $items }} 128 {{ $repoOwner := resolve .Repo.Did }} 129 {{ $repoName := .Repo.Name }} 130 {{ $repoUrl := printf "%s/%s" $repoOwner $repoName }} 131 132 <div class="flex gap-2 text-gray-600 dark:text-gray-300"> 133 {{ if .Open }} 134 <span class="text-green-600 dark:text-green-500"> 135 {{ i "circle-dot" "w-4 h-4" }} 136 </span> 137 {{ else }} 138 <span class="text-gray-500 dark:text-gray-400"> 139 {{ i "ban" "w-4 h-4" }} 140 </span> 141 {{ end }} 142 <div class="flex-none min-w-8 text-right"> 143 <span class="text-gray-500 dark:text-gray-400">#{{ .IssueId }}</span> 144 </div> 145 <div class="break-words max-w-full"> 146 <a href="/{{$repoUrl}}/issues/{{ .IssueId }}" class="no-underline hover:underline"> 147 {{ .Title -}} 148 </a> 149 on 150 <a href="/{{$repoUrl}}" class="no-underline hover:underline whitespace-nowrap"> 151 {{$repoUrl}} 152 </a> 153 </div> 154 </div> 155 {{ end }} 156 </div> 157 </details> 158 {{ end }} 159{{ end }} 160 161{{ define "pullEvents" }} 162 {{ $items := .Items }} 163 {{ $stats := .Stats }} 164 {{ if gt (len $items) 0 }} 165 <details> 166 <summary class="list-none cursor-pointer hover:text-gray-500 hover:dark:text-gray-400"> 167 <div class="flex flex-wrap items-center gap-2"> 168 {{ i "git-pull-request" "w-4 h-4" }} 169 170 <div> 171 created {{ len $items }} {{if eq (len $items) 1 }}pull request{{else}}pull requests{{end}} 172 </div> 173 174 {{ if gt $stats.Open 0 }} 175 <span class="px-2 py-1/2 text-sm rounded text-white bg-green-600 dark:bg-green-700"> 176 {{$stats.Open}} open 177 </span> 178 {{ end }} 179 180 {{ if gt $stats.Merged 0 }} 181 <span class="px-2 py-1/2 text-sm rounded text-white bg-purple-600 dark:bg-purple-700"> 182 {{$stats.Merged}} merged 183 </span> 184 {{ end }} 185 186 187 {{ if gt $stats.Closed 0 }} 188 <span class="px-2 py-1/2 text-sm rounded text-white bg-gray-800 dark:bg-gray-700"> 189 {{$stats.Closed}} closed 190 </span> 191 {{ end }} 192 193 </div> 194 </summary> 195 <div class="py-2 text-sm flex flex-col gap-3 mb-2"> 196 {{ range $items }} 197 {{ $repoOwner := resolve .Repo.Did }} 198 {{ $repoName := .Repo.Name }} 199 {{ $repoUrl := printf "%s/%s" $repoOwner $repoName }} 200 201 <div class="flex gap-2 text-gray-600 dark:text-gray-300"> 202 {{ if .State.IsOpen }} 203 <span class="text-green-600 dark:text-green-500"> 204 {{ i "git-pull-request" "w-4 h-4" }} 205 </span> 206 {{ else if .State.IsMerged }} 207 <span class="text-purple-600 dark:text-purple-500"> 208 {{ i "git-merge" "w-4 h-4" }} 209 </span> 210 {{ else }} 211 <span class="text-gray-600 dark:text-gray-300"> 212 {{ i "git-pull-request-closed" "w-4 h-4" }} 213 </span> 214 {{ end }} 215 <div class="flex-none min-w-8 text-right"> 216 <span class="text-gray-500 dark:text-gray-400">#{{ .PullId }}</span> 217 </div> 218 <div class="break-words max-w-full"> 219 <a href="/{{$repoUrl}}/pulls/{{ .PullId }}" class="no-underline hover:underline"> 220 {{ .Title -}} 221 </a> 222 on 223 <a href="/{{$repoUrl}}" class="no-underline hover:underline whitespace-nowrap"> 224 {{$repoUrl}} 225 </a> 226 </div> 227 </div> 228 {{ end }} 229 </div> 230 </details> 231 {{ end }} 232{{ end }} 233 234{{ define "ownRepos" }} 235 <div> 236 <div class="text-sm font-bold px-2 pb-4 dark:text-white flex items-center gap-2"> 237 <a href="/{{ resolve $.Card.UserDid }}?tab=repos" 238 class="flex text-black dark:text-white items-center gap-2 no-underline hover:no-underline group"> 239 <span>PINNED REPOS</span> 240 </a> 241 {{ if and .LoggedInUser (eq .LoggedInUser.Did .Card.UserDid) }} 242 <button 243 hx-get="profile/edit-pins" 244 hx-target="#all-repos" 245 class="py-0 font-normal text-sm flex gap-2 items-center group"> 246 {{ i "pencil" "w-3 h-3" }} 247 {{ i "loader-circle" "w-4 h-4 animate-spin hidden group-[.htmx-request]:inline" }} 248 </button> 249 {{ end }} 250 </div> 251 <div id="repos" class="grid grid-cols-1 gap-4 items-stretch"> 252 {{ range .Repos }} 253 <div class="border border-gray-200 dark:border-gray-700 rounded-sm"> 254 {{ template "user/fragments/repoCard" (list $ . false) }} 255 </div> 256 {{ else }} 257 <p class="dark:text-white">This user does not have any pinned repos.</p> 258 {{ end }} 259 </div> 260 </div> 261{{ end }} 262 263{{ define "collaboratingRepos" }} 264 {{ if gt (len .CollaboratingRepos) 0 }} 265 <div> 266 <p class="text-sm font-bold px-2 pb-4 dark:text-white">COLLABORATING ON</p> 267 <div id="collaborating" class="grid grid-cols-1 gap-4"> 268 {{ range .CollaboratingRepos }} 269 <div class="border border-gray-200 dark:border-gray-700 rounded-sm"> 270 {{ template "user/fragments/repoCard" (list $ . true) }} 271 </div> 272 {{ else }} 273 <p class="px-6 dark:text-white">This user is not collaborating.</p> 274 {{ end }} 275 </div> 276 </div> 277 {{ end }} 278{{ end }} 279