This commit is contained in:
2026-08-23 14:13:18 -05:00
parent 789bf91eed
commit 866f243f1b
37 changed files with 1761 additions and 58 deletions
+37
View File
@@ -21,6 +21,43 @@
</div>
</div>
<div class="card mt-3" style="max-width: 600px;">
<div class="card-body">
<h2 class="h6">Artist photos</h2>
{{if .Data.ArtistPhotosEnabled}}
<p class="text-secondary small mb-2">
Fetch a photo (fanart.tv when an artist has a tagged MusicBrainz ID and a key is configured, otherwise a direct name search against Wikidata/Wikimedia Commons) for every artist with no manually-set photo. This never calls MusicBrainz itself, so it isn't affected by its rate limits — matching by name alone is less precise, though. This bypasses any previously-cached "not found" result, so it's a good way to retry after fixing a config or network issue.
</p>
{{else}}
<p class="text-secondary small mb-2">
Automatic background fetching is disabled (<code>VIBESONIC_ENABLE_ARTIST_PHOTOS=false</code>), but this button still runs a one-off fetch — useful for checking why photos aren't showing up.
</p>
{{end}}
<form method="post" action="/admin/settings/artist-photos/refresh">
{{template "csrf_field" .CSRFToken}}
<button type="submit" class="btn btn-sm btn-outline-primary">Fetch all artist photos now</button>
</form>
{{if .Data.ArtistPhotoResults}}
<table class="table table-sm vs-table mt-3 mb-0">
<thead><tr><th>Artist</th><th>Status</th><th>Error</th></tr></thead>
<tbody>
{{range .Data.ArtistPhotoResults}}
<tr>
<td>{{.ArtistName}}</td>
<td>
{{if .Error}}<span class="text-danger">{{.Status}}</span>
{{else if eq .Status "fetched"}}<span class="text-success">{{.Status}}</span>
{{else}}<span class="text-secondary">{{.Status}}</span>{{end}}
</td>
<td class="text-danger small">{{.Error}}</td>
</tr>
{{end}}
</tbody>
</table>
{{end}}
</div>
</div>
<div class="card mt-3" style="max-width: 600px;">
<div class="card-body">
<h2 class="h6">External authentication</h2>