this repo has no description
1{{ define "title" }}issues · {{ .RepoInfo.FullName }}{{ end }}
2
3{{ define "extrameta" }}
4 {{ $title := "issues" }}
5 {{ $url := printf "https://tangled.sh/%s/issues" .RepoInfo.FullName }}
6
7 {{ template "repo/fragments/og" (dict "RepoInfo" .RepoInfo "Title" $title "Url" $url) }}
8{{ end }}
9
10{{ define "repoContent" }}
11 <div class="flex justify-between items-center gap-4">
12 <div class="flex gap-4">
13 <a
14 href="?state=open"
15 class="flex items-center gap-2 {{ if .FilteringByOpen }}
16 font-bold
17 {{ else }}
18 text-gray-500 dark:text-gray-400
19 {{ end }}">
20 {{ i "circle-dot" "w-4 h-4" }}
21 <span>{{ .RepoInfo.Stats.IssueCount.Open }} open</span>
22 </a>
23 <a
24 href="?state=closed"
25 class="flex items-center gap-2 {{ if not .FilteringByOpen }}
26 font-bold
27 {{ else }}
28 text-gray-500 dark:text-gray-400
29 {{ end }}">
30 {{ i "ban" "w-4 h-4" }}
31 <span>{{ .RepoInfo.Stats.IssueCount.Closed }} closed</span>
32 </a>
33 </div>
34 <a
35 href="/{{ .RepoInfo.FullName }}/issues/new"
36 class="btn-create text-sm flex items-center justify-center gap-2 no-underline hover:no-underline hover:text-white">
37 {{ i "circle-plus" "w-4 h-4" }}
38 <span>new</span>
39 </a>
40 </div>
41 <div class="error" id="issues"></div>
42{{ end }}
43
44{{ define "repoAfter" }}
45 <div class="flex flex-col gap-2 mt-2">
46 {{ range .Issues }}
47 <div
48 class="rounded drop-shadow-sm bg-white px-6 py-4 dark:bg-gray-800 dark:border-gray-700">
49 <div class="pb-2">
50 <a
51 href="/{{ $.RepoInfo.FullName }}/issues/{{ .IssueId }}"
52 class="no-underline hover:underline">
53 {{ .Title }}
54 <span class="text-gray-500">#{{ .IssueId }}</span>
55 </a>
56 </div>
57 <p
58 class="text-sm text-gray-500 dark:text-gray-400 flex flex-wrap items-center gap-1">
59 {{ $bgColor := "bg-gray-800 dark:bg-gray-700" }}
60 {{ $icon := "ban" }}
61 {{ $state := "closed" }}
62 {{ if .Open }}
63 {{ $bgColor = "bg-green-600 dark:bg-green-700" }}
64 {{ $icon = "circle-dot" }}
65 {{ $state = "open" }}
66 {{ end }}
67
68
69 <span
70 class="inline-flex items-center rounded px-2 py-[5px] {{ $bgColor }} text-sm">
71 {{ i $icon "w-3 h-3 mr-1.5 text-white dark:text-white" }}
72 <span class="text-white dark:text-white">{{ $state }}</span>
73 </span>
74
75 <span class="ml-1">
76 {{ template "user/fragments/picHandleLink" .OwnerDid }}
77 </span>
78
79 <span class="before:content-['·']">
80 {{ template "repo/fragments/time" .Created }}
81 </span>
82
83 <span class="before:content-['·']">
84 {{ $s := "s" }}
85 {{ if eq .Metadata.CommentCount 1 }}
86 {{ $s = "" }}
87 {{ end }}
88 <a
89 href="/{{ $.RepoInfo.FullName }}/issues/{{ .IssueId }}"
90 class="text-gray-500 dark:text-gray-400">
91 {{ .Metadata.CommentCount }}
92 comment{{ $s }}
93 </a>
94 </span>
95 </p>
96 </div>
97 {{ end }}
98 </div>
99
100 {{ block "pagination" . }}{{ end }}
101
102{{ end }}
103
104{{ define "pagination" }}
105 <div class="flex justify-end mt-4 gap-2">
106 {{ $currentState := "closed" }}
107 {{ if .FilteringByOpen }}
108 {{ $currentState = "open" }}
109 {{ end }}
110
111 {{ if gt .Page.Offset 0 }}
112 {{ $prev := .Page.Previous }}
113 <a
114 class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700"
115 hx-boost="true"
116 href="/{{ $.RepoInfo.FullName }}/issues?state={{ $currentState }}&offset={{ $prev.Offset }}&limit={{ $prev.Limit }}">
117 {{ i "chevron-left" "w-4 h-4" }}
118 previous
119 </a>
120 {{ else }}
121 <div></div>
122 {{ end }}
123
124 {{ if eq (len .Issues) .Page.Limit }}
125 {{ $next := .Page.Next }}
126 <a
127 class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700"
128 hx-boost="true"
129 href="/{{ $.RepoInfo.FullName }}/issues?state={{ $currentState }}&offset={{ $next.Offset }}&limit={{ $next.Limit }}">
130 next
131 {{ i "chevron-right" "w-4 h-4" }}
132 </a>
133 {{ end }}
134 </div>
135{{ end }}