46d23bf565
Update all label spans in issue/PR list and detail templates to use background-color with the actual hex color from Gitea, replacing the previous text-color-only styling. Add label-pill CSS class with text shadow for readability against colored backgrounds. Closes leeworks-agents/gitea-mobile#193 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
58 lines
2.5 KiB
HTML
58 lines
2.5 KiB
HTML
{{define "cards"}}
|
|
{{range .Issues}}
|
|
<div class="card" hx-get="/issues/{{.RepoOwner}}/{{.RepoName}}/{{.Number}}" hx-target="#main-content" hx-swap="innerHTML" hx-push-url="true">
|
|
<div class="card-title">{{.Title}}</div>
|
|
<div class="card-meta">
|
|
<span>{{.RepoOwner}}/{{.RepoName}} #{{.Number}}</span>
|
|
{{range .Labels}}
|
|
<span class="label label-pill" style="background-color:#{{.Color}};color:#fff;border:1px solid #{{.Color}}">{{.Name}}</span>
|
|
{{end}}
|
|
{{if .Assignee}}
|
|
<img src="{{.Assignee.AvatarURL}}" alt="{{.Assignee.Login}}" class="avatar" title="Assigned to {{.Assignee.Login}}">
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{if .HasMore}}
|
|
<div class="scroll-sentinel" hx-get="/issues?page={{.NextPage}}&org={{.SelectedOrg}}&state={{.SelectedState}}&label={{.SelectedLabel}}&repo={{.SelectedRepo}}" hx-trigger="revealed" hx-swap="outerHTML" hx-target="this">
|
|
<div class="spinner htmx-indicator"></div>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{define "content"}}
|
|
<h1>Issues</h1>
|
|
|
|
<div class="filter-bar">
|
|
<select name="org" hx-get="/issues" hx-trigger="change" hx-target="#main-content" hx-swap="innerHTML" hx-push-url="true" hx-include="[name='state'],[name='label']">
|
|
<option value="">All orgs</option>
|
|
{{range .Orgs}}
|
|
<option value="{{.}}" {{if eq . $.SelectedOrg}}selected{{end}}>{{.}}</option>
|
|
{{end}}
|
|
</select>
|
|
{{if .Repos}}
|
|
<select name="repo" hx-get="/issues" hx-trigger="change" hx-target="#main-content" hx-swap="innerHTML" hx-push-url="true" hx-include="[name='org'],[name='state'],[name='label']">
|
|
<option value="">All repos</option>
|
|
{{range .Repos}}<option value="{{.}}" {{if eq . $.SelectedRepo}}selected{{end}}>{{.}}</option>{{end}}
|
|
</select>
|
|
{{end}}
|
|
<select name="state" hx-get="/issues" hx-trigger="change" hx-target="#main-content" hx-swap="innerHTML" hx-push-url="true" hx-include="[name='org'],[name='repo'],[name='label']">
|
|
<option value="open" {{if eq .SelectedState "open"}}selected{{end}}>Open</option>
|
|
<option value="closed" {{if eq .SelectedState "closed"}}selected{{end}}>Closed</option>
|
|
</select>
|
|
<input type="text" name="label" placeholder="Filter by label..." value="{{.SelectedLabel}}"
|
|
hx-get="/issues" hx-trigger="input changed delay:400ms" hx-target="#main-content"
|
|
hx-swap="innerHTML" hx-push-url="true" hx-include="[name='org'],[name='state'],[name='repo']">
|
|
</div>
|
|
|
|
{{if .Error}}
|
|
<p class="empty">{{.Error}}</p>
|
|
{{else if not .Issues}}
|
|
<p class="empty">No issues found.</p>
|
|
{{else}}
|
|
<div id="issue-list">
|
|
{{template "cards" .}}
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|