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 }} comment{{ $s }}
92 </a>
93 </span>
94 </p>
95 </div>
96 {{ end }}
97 </div>
98
99 {{ block "pagination" . }}{{ end }}
100
101{{ end }}
102
103{{ define "pagination" }}
104 <div class="flex justify-end mt-4 gap-2">
105 {{ $currentState := "closed" }}
106 {{ if .FilteringByOpen }}
107 {{ $currentState = "open" }}
108 {{ end }}
109
110 {{ if gt .Page.Offset 0 }}
111 {{ $prev := .Page.Previous }}
112 <a
113 class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700"
114 hx-boost="true"
115 href="/{{ $.RepoInfo.FullName }}/issues?state={{ $currentState }}&offset={{ $prev.Offset }}&limit={{ $prev.Limit }}">
116 {{ i "chevron-left" "w-4 h-4" }}
117 previous
118 </a>
119 {{ else }}
120 <div></div>
121 {{ end }}
122
123 {{ if eq (len .Issues) .Page.Limit }}
124 {{ $next := .Page.Next }}
125 <a
126 class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700"
127 hx-boost="true"
128 href="/{{ $.RepoInfo.FullName }}/issues?state={{ $currentState }}&offset={{ $next.Offset }}&limit={{ $next.Limit }}">
129 next
130 {{ i "chevron-right" "w-4 h-4" }}
131 </a>
132 {{ end }}
133 </div>
134{{ end }}