+9
-96
appview/pages/templates/user/profile.html
+9
-96
appview/pages/templates/user/profile.html
···
10
10
{{ block "collaboratingRepos" . }}{{ end }}
11
11
</div>
12
12
<div class="md:col-span-2 order-3 md:order-3">
13
-
{{ block "profileTimeline2" . }}{{ end }}
13
+
{{ block "profileTimeline" . }}{{ end }}
14
14
</div>
15
15
</div>
16
16
{{ end }}
17
17
18
-
{{ define "profileTimeline2" }}
18
+
{{ define "profileTimeline" }}
19
19
<p class="text-sm font-bold py-2 dark:text-white">ACTIVITY</p>
20
20
<div class="flex flex-col gap-6 relative">
21
21
{{ with .ProfileTimeline }}
22
22
{{ range $idx, $byMonth := .ByMonth }}
23
23
{{ with $byMonth }}
24
-
<div>
24
+
<div class="bg-white dark:bg-gray-800 px-6 py-4 rounded drop-shadow-sm">
25
25
{{ if eq $idx 0 }}
26
26
<p class="text-sm font-bold py-2 dark:text-white">This month</p>
27
27
{{ else }}
···
55
55
<details open>
56
56
<summary class="list-none cursor-pointer">
57
57
<div class="flex items-center gap-2">
58
-
{{ i "unfold-vertical" "w-4 h-4" }}
59
-
created {{ len $items }} repositories
58
+
created {{ len $items }} {{if eq (len $items) 1 }}repository{{else}}repositories{{end}}
60
59
</div>
61
60
</summary>
62
-
<div class="p-2 pl-8 text-sm flex flex-col gap-3">
61
+
<div class="p-2 text-sm flex flex-col gap-3">
63
62
{{ range $items }}
64
63
<div class="flex flex-wrap items-center gap-2">
65
64
<span class="text-gray-500 dark:text-gray-400">
···
90
89
<details open>
91
90
<summary class="list-none cursor-pointer">
92
91
<div class="flex items-center gap-2">
93
-
{{ i "unfold-vertical" "w-4 h-4" }}
94
92
<span>
95
-
created {{ len $items }} issues
93
+
created {{ len $items }} {{if eq (len $items) 1 }}issue{{else}}issues{{end}}
96
94
</span>
97
95
<span class="px-2 py-1/2 text-sm rounded-sm text-white bg-green-600 dark:bg-green-700">
98
96
{{$stats.Open}} open
···
102
100
</span>
103
101
</div>
104
102
</summary>
105
-
<div class="p-2 pl-8 text-sm flex flex-col gap-3">
103
+
<div class="p-2 text-sm flex flex-col gap-3">
106
104
{{ range $items }}
107
105
{{ $repoOwner := index $handleMap .Metadata.Repo.Did }}
108
106
{{ $repoName := .Metadata.Repo.Name }}
···
143
141
<details open>
144
142
<summary class="list-none cursor-pointer">
145
143
<div class="flex items-center gap-2">
146
-
{{ i "unfold-vertical" "w-4 h-4" }}
147
144
<span>
148
-
created {{ len $items }} pull requests
145
+
created {{ len $items }} {{if eq (len $items) 1 }}pull request{{else}}pull requests{{end}}
149
146
</span>
150
147
<span class="px-2 py-1/2 text-sm rounded-sm text-white bg-green-600 dark:bg-green-700">
151
148
{{$stats.Open}} open
···
158
155
</span>
159
156
</div>
160
157
</summary>
161
-
<div class="p-2 pl-8 text-sm flex flex-col gap-3">
158
+
<div class="p-2 text-sm flex flex-col gap-3">
162
159
{{ range $items }}
163
160
{{ $repoOwner := index $handleMap .Repo.Did }}
164
161
{{ $repoName := .Repo.Name }}
···
192
189
</div>
193
190
</details>
194
191
{{ end }}
195
-
{{ end }}
196
-
197
-
{{ define "profileTimeline" }}
198
-
<div class="flex flex-col gap-3 relative">
199
-
<p class="px-6 text-sm font-bold py-2 dark:text-white">ACTIVITY</p>
200
-
{{ range .ProfileTimeline }}
201
-
{{ if eq .Type "issue" }}
202
-
<div class="px-6 py-2 bg-white dark:bg-gray-800 rounded drop-shadow-sm w-fit max-w-full flex items-center gap-2">
203
-
{{ $textColor := "text-gray-800 dark:text-gray-400" }}
204
-
{{ $icon := "ban" }}
205
-
{{ if .Issue.Open }}
206
-
{{ $textColor = "text-green-600 dark:text-green-500" }}
207
-
{{ $icon = "circle-dot" }}
208
-
{{ end }}
209
-
<div class="p-1 {{ $textColor }}">
210
-
{{ i $icon "w-5 h-5" }}
211
-
</div>
212
-
<div>
213
-
<p class="text-gray-600 dark:text-gray-300">
214
-
<a href="/{{ index $.DidHandleMap .Repo.Did }}/{{ .Repo.Name }}/issues/{{ .Issue.IssueId }}" class="no-underline hover:underline">{{ .Issue.Title }} <span class="text-gray-500 dark:text-gray-400">#{{ .Issue.IssueId }}</span></a>
215
-
on
216
-
<a href="/{{ index $.DidHandleMap .Repo.Did }}/{{ .Repo.Name }}" class="no-underline hover:underline">{{ index $.DidHandleMap .Repo.Did }}<span class="select-none">/</span>{{ .Repo.Name }}</a>
217
-
<time class="text-gray-700 dark:text-gray-400 text-xs ml-2">{{ .Issue.Created | shortTimeFmt }}</time>
218
-
</p>
219
-
</div>
220
-
</div>
221
-
{{ else if eq .Type "pull" }}
222
-
<div class="px-6 py-2 bg-white dark:bg-gray-800 rounded drop-shadow-sm w-fit flex items-center gap-3">
223
-
{{ $textColor := "text-gray-800 dark:text-gray-400" }}
224
-
{{ $icon := "git-pull-request-closed" }}
225
-
{{ if .Pull.State.IsOpen }}
226
-
{{ $textColor = "text-green-600 dark:text-green-500" }}
227
-
{{ $icon = "git-pull-request" }}
228
-
{{ else if .Pull.State.IsMerged }}
229
-
{{ $textColor = "text-purple-600 dark:text-purple-500" }}
230
-
{{ $icon = "git-merge" }}
231
-
{{ end }}
232
-
<div class="{{ $textColor }} p-1">
233
-
{{ i $icon "w-5 h-5" }}
234
-
</div>
235
-
<div>
236
-
<p class="text-gray-600 dark:text-gray-300">
237
-
<a href="/{{ index $.DidHandleMap .Repo.Did }}/{{ .Repo.Name }}/pulls/{{ .Pull.PullId }}" class="no-underline hover:underline">{{ .Pull.Title }} <span class="text-gray-500 dark:text-gray-400">#{{ .Pull.PullId }}</span></a>
238
-
on
239
-
<a href="/{{ index $.DidHandleMap .Repo.Did }}/{{ .Repo.Name }}" class="no-underline hover:underline">
240
-
{{ index $.DidHandleMap .Repo.Did }}<span class="select-none">/</span>{{ .Repo.Name }}</a>
241
-
<time class="text-gray-700 dark:text-gray-400 text-xs ml-2">{{ .Pull.Created | shortTimeFmt }}</time>
242
-
</p>
243
-
</div>
244
-
</div>
245
-
{{ else if eq .Type "repo" }}
246
-
<div class="px-6 py-2 bg-white dark:bg-gray-800 rounded drop-shadow-sm w-fit flex items-center gap-3">
247
-
{{ if .Source }}
248
-
<div class="text-gray-800 dark:text-gray-400 p-1">
249
-
{{ i "git-fork" "w-5 h-5" }}
250
-
</div>
251
-
{{ else }}
252
-
<div class="text-gray-800 dark:text-gray-400 p-1">
253
-
{{ i "book-plus" "w-5 h-5" }}
254
-
</div>
255
-
{{ end }}
256
-
<div>
257
-
<p class="text-gray-600 dark:text-gray-300">
258
-
259
-
{{ if .Source }}
260
-
forked
261
-
<a href="/{{ index $.DidHandleMap .Source.Did }}/{{ .Source.Name }}" class="no-underline hover:underline">
262
-
{{ index $.DidHandleMap .Source.Did }}/{{ .Source.Name }}
263
-
</a>
264
-
to
265
-
<a href="/{{ didOrHandle $.UserHandle $.UserDid }}/{{ .Repo.Name }}" class="no-underline hover:underline">{{ .Repo.Name }}</a>
266
-
{{ else }}
267
-
created
268
-
<a href="/{{ index $.DidHandleMap .Repo.Did }}/{{ .Repo.Name }}" class="no-underline hover:underline">{{ .Repo.Name }}</a>
269
-
{{ end }}
270
-
<time class="text-gray-700 dark:text-gray-400 text-xs ml-2">{{ .Repo.Created | shortTimeFmt }}</time>
271
-
</p>
272
-
</div>
273
-
</div>
274
-
{{ end }}
275
-
{{ else }}
276
-
<p class="px-6 dark:text-white">This user does not have any activity yet.</p>
277
-
{{ end }}
278
-
</div>
279
192
{{ end }}
280
193
281
194
{{ define "profileCard" }}