Web UI: setup wizard, auth pages, library browsing, player, admin, streaming, cover art

This commit is contained in:
2026-08-22 23:42:09 -05:00
parent aa29f13846
commit e0bd8bc3cb
42 changed files with 3012 additions and 8 deletions
+39
View File
@@ -0,0 +1,39 @@
{{define "admin_settings"}}{{template "header" .}}
<div class="card" style="max-width: 600px;">
<div class="card-body">
<form method="post" action="/admin/settings">
{{template "csrf_field" .CSRFToken}}
<div class="mb-3">
<label class="form-label">Scan interval</label>
<input type="text" class="form-control" name="scan_interval" value="{{.Data.ScanInterval}}" placeholder="1h">
<div class="form-text">Go duration syntax, e.g. 30m, 1h, 6h.</div>
</div>
<div class="mb-3">
<label class="form-label">ffmpeg path</label>
<input type="text" class="form-control" name="ffmpeg_path" value="{{.Data.FFmpegPath}}">
</div>
<div class="mb-3">
<label class="form-label">ffprobe path</label>
<input type="text" class="form-control" name="ffprobe_path" value="{{.Data.FFprobePath}}">
</div>
<button type="submit" class="btn btn-primary btn-sm">Save</button>
</form>
</div>
</div>
<div class="card mt-3" style="max-width: 600px;">
<div class="card-body">
<h2 class="h6">External authentication</h2>
<p class="text-secondary small mb-2">
Configured via <code>VIBESONIC_EXTAUTH_*</code> environment variables (restart required to change).
</p>
<table class="table table-sm vs-table mb-0">
<tbody>
<tr><td>Enabled</td><td>{{if .Data.ExtAuthEnabled}}Yes{{else}}No{{end}}</td></tr>
<tr><td>Trusted sources</td><td>{{if .Data.ExtAuthTrustedSources}}{{.Data.ExtAuthTrustedSources}}{{else}}<span class="text-secondary">none configured</span>{{end}}</td></tr>
<tr><td>Header</td><td>{{.Data.ExtAuthHeader}}</td></tr>
</tbody>
</table>
</div>
</div>
{{template "footer" .}}{{end}}