Files

69 lines
2.7 KiB
HTML

{{define "partials/relay_status.html"}}
<tr>
<td>
{{if .Online}}
<span class="badge badge-success badge-sm gap-1" role="status">
{{ icon "check-circle" "size-3" }}
Online
</span>
{{else}}
<span class="badge badge-error badge-sm gap-1" role="status">
{{ icon "alert-circle" "size-3" }}
Offline
</span>
{{end}}
</td>
<td>
<div class="flex flex-col gap-0.5">
<strong class="truncate max-w-[20ch]" title="{{.Name}}">{{.Name}}</strong>
<code class="text-xs text-base-content/50 font-mono truncate max-w-[24ch]" title="{{.URL}}">{{.URL}}</code>
</div>
</td>
<td>
<div class="flex flex-wrap gap-1">
{{if .Online}}
{{if .HasRequestCrawl}}
<span class="badge badge-ghost badge-sm">requestCrawl</span>
{{else if or (eq .RequestCrawlStatus 401) (eq .RequestCrawlStatus 403)}}
<span class="badge badge-warning badge-sm">requestCrawl (auth required)</span>
{{else if ge .RequestCrawlStatus 500}}
<span class="badge badge-error badge-sm">requestCrawl ({{.RequestCrawlStatus}})</span>
{{end}}
{{if .HasListReposByCollection}}<span class="badge badge-ghost badge-sm">listReposByCollection</span>{{end}}
{{else}}
<span class="text-base-content/30 text-sm">-</span>
{{end}}
</div>
</td>
<td>
{{if .RepoStatus}}
{{if .RepoStatus.Active}}
{{if eq .RepoStatus.Rev $.CurrentRev}}
<span class="text-sm text-success">Known (rev: {{.RepoStatus.Rev}})</span>
{{else}}
<span class="text-sm text-warning">Behind (rev: {{.RepoStatus.Rev}})</span>
{{end}}
{{else}}
<span class="text-sm text-warning">Inactive</span>
{{end}}
{{else if .Online}}
<span class="text-sm text-base-content/40">Not found</span>
{{else}}
<span class="text-sm text-base-content/30">-</span>
{{end}}
</td>
<td class="text-right">
{{if and .Online .HasRequestCrawl}}
<button class="btn btn-ghost btn-sm gap-1"
hx-post="/admin/relays/crawl?url={{.URL | urlquery}}&name={{.Name | urlquery}}"
hx-target="closest tr"
hx-swap="outerHTML"
aria-label="Request crawl from {{.Name}}">
{{ icon "refresh-ccw" "size-4" }}
Request Crawl
</button>
{{end}}
</td>
</tr>
{{end}}