forked from tangled.org/core
Monorepo for Tangled — https://tangled.org
1{{ define "title" }}issues &middot; {{ .RepoInfo.FullName }}{{ end }} 2 3{{ define "repoContent" }} 4 <div class="flex justify-between items-center"> 5 <p> 6 filtering 7 <select class="border p-1 bg-white border-gray-200 dark:bg-gray-800 dark:border-gray-700" onchange="window.location.href = '/{{ .RepoInfo.FullName }}/issues?state=' + this.value"> 8 <option value="open" {{ if .FilteringByOpen }}selected{{ end }}>open ({{ .RepoInfo.Stats.IssueCount.Open }})</option> 9 <option value="closed" {{ if not .FilteringByOpen }}selected{{ end }}>closed ({{ .RepoInfo.Stats.IssueCount.Closed }})</option> 10 </select> 11 issues 12 </p> 13 <a 14 href="/{{ .RepoInfo.FullName }}/issues/new" 15 class="btn text-sm flex items-center gap-2 no-underline hover:no-underline"> 16 {{ i "circle-plus" "w-4 h-4" }} 17 <span>new</span> 18 </a> 19 </div> 20 <div class="error" id="issues"></div> 21{{ end }} 22 23{{ define "repoAfter" }} 24<div class="flex flex-col gap-2 mt-2"> 25 {{ range .Issues }} 26 <div class="rounded drop-shadow-sm bg-white px-6 py-4 dark:bg-gray-800 dark:border-gray-700"> 27 <div class="pb-2"> 28 <a 29 href="/{{ $.RepoInfo.FullName }}/issues/{{ .IssueId }}" 30 class="no-underline hover:underline" 31 > 32 {{ .Title }} 33 <span class="text-gray-500">#{{ .IssueId }}</span> 34 </a> 35 </div> 36 <p class="text-sm text-gray-500 dark:text-gray-400"> 37 {{ $bgColor := "bg-gray-800 dark:bg-gray-700" }} 38 {{ $icon := "ban" }} 39 {{ $state := "closed" }} 40 {{ if .Open }} 41 {{ $bgColor = "bg-green-600 dark:bg-green-700" }} 42 {{ $icon = "circle-dot" }} 43 {{ $state = "open" }} 44 {{ end }} 45 46 <span class="inline-flex items-center rounded px-2 py-[5px] {{ $bgColor }} text-sm"> 47 {{ i $icon "w-3 h-3 mr-1.5 text-white dark:text-white" }} 48 <span class="text-white dark:text-white">{{ $state }}</span> 49 </span> 50 51 <span> 52 {{ $owner := index $.DidHandleMap .OwnerDid }} 53 <a href="/{{ $owner }}">{{ $owner }}</a> 54 </span> 55 56 <span class="before:content-['·']"> 57 <time> 58 {{ .Created | timeFmt }} 59 </time> 60 </span> 61 62 <span class="before:content-['·']"> 63 {{ $s := "s" }} 64 {{ if eq .Metadata.CommentCount 1 }} 65 {{ $s = "" }} 66 {{ end }} 67 <a href="/{{ $.RepoInfo.FullName }}/issues/{{ .IssueId }}" class="text-gray-500 dark:text-gray-400">{{ .Metadata.CommentCount }} comment{{$s}}</a> 68 </span> 69 </p> 70 </div> 71 {{ end }} 72</div> 73 74{{ block "pagination" . }} {{ end }} 75 76{{ end }} 77 78{{ define "pagination" }} 79<div class="flex justify-end mt-4 gap-2"> 80 {{ $currentState := "closed" }} 81 {{ if .FilteringByOpen }} 82 {{ $currentState = "open" }} 83 {{ end }} 84 85 {{ if gt .Page.Offset 0 }} 86 {{ $prev := .Page.Previous }} 87 <a 88 class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700" 89 hx-boost="true" 90 href = "/{{ $.RepoInfo.FullName }}/issues?state={{ $currentState }}&offset={{ $prev.Offset }}&limit={{ $prev.Limit }}" 91 > 92 {{ i "chevron-left" "w-4 h-4" }} 93 previous 94 </a> 95 {{ else }} 96 <div></div> 97 {{ end }} 98 99 {{ if eq (len .Issues) .Page.Limit }} 100 {{ $next := .Page.Next }} 101 <a 102 class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700" 103 hx-boost="true" 104 href = "/{{ $.RepoInfo.FullName }}/issues?state={{ $currentState }}&offset={{ $next.Offset }}&limit={{ $next.Limit }}" 105 > 106 next 107 {{ i "chevron-right" "w-4 h-4" }} 108 </a> 109 {{ end }} 110</div> 111{{ end }}