This repository has no description
1{{ define "timeline/fragments/recents" }}
2 {{ if .LoggedInUser }}
3 <div class="border border-gray-200 dark:border-gray-700 rounded-sm divide-y divide-gray-200 dark:divide-gray-700">
4 <h3 class="text-base dark:text-white flex items-center gap-2 px-4 py-2 bg-white/50 dark:bg-gray-800/50">
5 {{ i "history" "size-4 flex-shrink-0" }}
6 Recents
7 </h3>
8
9 {{ if not .Recents }}
10 <div class="px-4 py-8 text-sm text-center text-gray-400 dark:text-gray-500">
11 <div class="w-10 h-10 mx-auto mb-3 text-gray-300 dark:text-gray-600">
12 {{ i "route" "size-10" }}
13 </div>
14 <p class="text-sm text-gray-500 dark:text-gray-400">No recent pages yet.</p>
15 </div>
16 {{ else }}
17 <div class="relative flex flex-col bg-white dark:bg-gray-800">
18 <div class="absolute top-0 bottom-0 w-px bg-gray-200 dark:bg-gray-700" style="left: 1.875rem"></div>
19 {{ range .Recents }}
20 {{ if .Repo }}
21 {{ template "timeline/fragments/recentRepo" . }}
22 {{ else if .Issue }}
23 {{ template "timeline/fragments/recentIssue" . }}
24 {{ else if .Pull }}
25 {{ template "timeline/fragments/recentPull" . }}
26 {{ end }}
27 {{ end }}
28 </div>
29 {{ end }}
30 </div>
31 {{ end }}
32{{ end }}
33
34{{ define "recentRowClass" }}
35 relative grid grid-cols-[1.75rem_1fr_auto] grid-rows-2 gap-x-3 pl-4 pr-4 py-3 text-sm no-underline hover:no-underline hover:bg-gray-100/50 dark:hover:bg-gray-700/50 overflow-hidden
36{{ end }}
37
38{{/* call with dict "color" "text-*" "icon" "icon-name" */}}
39{{ define "recentIconCircle" }}
40 <span class="col-start-1 row-start-1 row-span-2 self-center relative z-10 flex items-center justify-center w-7 h-7 rounded-full bg-white dark:bg-gray-800 {{ .color }} shrink-0 border border-gray-200 dark:border-gray-700">
41 {{ i .icon "w-3.5 h-3.5" }}
42 </span>
43{{ end }}
44
45{{ define "timeline/fragments/recentRepo" }}
46 {{ $repoOwner := resolve .Repo.Did }}
47 <a href="/{{ $repoOwner }}/{{ .Repo.Slug }}" class="{{ template "recentRowClass" }}">
48 <span class="col-start-1 row-start-1 row-span-2 self-center relative z-10">
49 {{ template "user/fragments/pic" (list .Repo.Did "size-7") }}
50 </span>
51 <span class="col-start-2 row-start-1 row-span-2 self-center truncate font-medium dark:text-white">{{ $repoOwner }}/{{ .Repo.Name }}</span>
52 <span class="col-start-3 row-start-1 row-span-2 self-center text-gray-500 dark:text-gray-400 text-sm shrink-0">{{ template "repo/fragments/shortTime" .Link.Visited }}</span>
53 </a>
54{{ end }}
55
56{{ define "timeline/fragments/recentIssue" }}
57 {{ $repoOwner := resolve .Issue.Repo.Did }}
58 <a href="/{{ $repoOwner }}/{{ .Issue.Repo.Slug }}/issues/{{ .Issue.IssueId }}" class="{{ template "recentRowClass" }}">
59 {{ if .Issue.Open }}
60 {{ template "recentIconCircle" (dict "color" "text-green-600 dark:text-green-500" "icon" "circle-dot") }}
61 {{ else }}
62 {{ template "recentIconCircle" (dict "color" "text-gray-500 dark:text-gray-400" "icon" "ban") }}
63 {{ end }}
64 <span class="col-start-2 row-start-1 truncate dark:text-white">{{ .Issue.Title }}</span>
65 <span class="col-start-2 row-start-2 truncate text-sm text-gray-500 dark:text-gray-400">{{ $repoOwner }}/{{ .Issue.Repo.Name }}</span>
66 <span class="col-start-3 row-start-1 self-center text-gray-500 dark:text-gray-400 text-sm shrink-0">{{ template "repo/fragments/shortTime" .Link.Visited }}</span>
67 </a>
68{{ end }}
69
70{{ define "timeline/fragments/recentPull" }}
71 {{ $repoOwner := resolve .Pull.Repo.Did }}
72 <a href="/{{ $repoOwner }}/{{ .Pull.Repo.Slug }}/pulls/{{ .Pull.PullId }}" class="{{ template "recentRowClass" }}">
73 {{ if .Pull.State.IsOpen }}
74 {{ template "recentIconCircle" (dict "color" "text-green-600 dark:text-green-500" "icon" "git-pull-request") }}
75 {{ else if .Pull.State.IsMerged }}
76 {{ template "recentIconCircle" (dict "color" "text-purple-600 dark:text-purple-500" "icon" "git-merge") }}
77 {{ else }}
78 {{ template "recentIconCircle" (dict "color" "text-gray-600 dark:text-gray-300" "icon" "git-pull-request-closed") }}
79 {{ end }}
80 <span class="col-start-2 row-start-1 truncate dark:text-white">{{ .Pull.Title }}</span>
81 <span class="col-start-2 row-start-2 truncate text-sm text-gray-500 dark:text-gray-400">{{ $repoOwner }}/{{ .Pull.Repo.Name }}</span>
82 <span class="col-start-3 row-start-1 self-center text-gray-500 dark:text-gray-400 text-sm shrink-0">{{ template "repo/fragments/shortTime" .Link.Visited }}</span>
83 </a>
84{{ end }}