Files
vibesonic/web/templates/admin_jukebox.html

42 lines
1.8 KiB
HTML

{{define "admin_jukebox"}}{{template "header" .}}
{{if not .Data.Available}}
<div class="alert alert-warning">
The jukebox is not available: no <code>mpv</code> binary was found on this server. Install mpv and restart VibeSonic to enable server-side jukebox playback.
</div>
{{else}}
<div class="card" style="max-width: 500px;">
<div class="card-body">
<h2 class="h6">Status</h2>
{{if .Data.Error}}
<p class="text-danger">{{.Data.Error}}</p>
{{else}}
<table class="table table-sm vs-table mb-3">
<tbody>
<tr><td>Playing</td><td>{{.Data.Status.Playing}}</td></tr>
<tr><td>Current index</td><td>{{.Data.Status.CurrentIndex}}</td></tr>
<tr><td>Position</td><td>{{.Data.Status.PositionSecs}}s</td></tr>
<tr><td>Gain</td><td>{{.Data.Status.Gain}}</td></tr>
<tr><td>Playlist length</td><td>{{len .Data.Status.SongIDs}}</td></tr>
</tbody>
</table>
{{end}}
<form method="post" action="/admin/jukebox/start" class="d-inline">
{{template "csrf_field" .CSRFToken}}
<button type="submit" class="btn btn-sm btn-outline-primary">Start</button>
</form>
<form method="post" action="/admin/jukebox/stop" class="d-inline">
{{template "csrf_field" .CSRFToken}}
<button type="submit" class="btn btn-sm btn-outline-secondary">Stop</button>
</form>
<form method="post" action="/admin/jukebox/clear" class="d-inline">
{{template "csrf_field" .CSRFToken}}
<button type="submit" class="btn btn-sm btn-outline-danger">Clear</button>
</form>
<p class="text-secondary small mt-3 mb-0">
Build a jukebox playlist from a Subsonic client (e.g. DSub, Symfonium) using the <code>jukeboxControl</code> API — this page is for server status and emergency stop/clear only.
</p>
</div>
</div>
{{end}}
{{template "footer" .}}{{end}}