57 lines
2.0 KiB
HTML
57 lines
2.0 KiB
HTML
<div class="panel-header-row">
|
|
<div>
|
|
<h1>Schedule</h1>
|
|
<p>Read-only view of the currently configured playout order.</p>
|
|
</div>
|
|
<button id="reload-schedule-btn" type="button" class="btn btn-secondary">Reload schedule</button>
|
|
</div>
|
|
|
|
<div class="panel-card">
|
|
<p class="small-muted">
|
|
<span id="schedule-matched-entries">0</span>/<span id="schedule-total-entries">0</span> matched • total runtime
|
|
<span id="schedule-total-runtime">00:00:00</span>
|
|
</p>
|
|
<div class="table-wrap">
|
|
<table class="data-table">
|
|
<thead>
|
|
<tr>
|
|
<th>#</th>
|
|
<th>Label</th>
|
|
<th>Runtime</th>
|
|
<th>Status</th>
|
|
<th>Path</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="schedule-table-body"></tbody>
|
|
</table>
|
|
</div>
|
|
<p id="schedule-status" class="status-line" aria-live="polite">Loading schedule...</p>
|
|
</div>
|
|
|
|
<div class="panel-card">
|
|
<h2>Schedule Overrides</h2>
|
|
<p>Insert scheduled overrides to play specific videos at specific times.</p>
|
|
<form id="override-form" class="form-stack" style="max-width: 500px">
|
|
<label>Media ID <input id="override-media-id" type="number" class="text-input" required /></label>
|
|
<label>Start Time <input id="override-start" type="datetime-local" class="text-input" required /></label>
|
|
<label>End Time <input id="override-end" type="datetime-local" class="text-input" required /></label>
|
|
<label>Reason <input id="override-reason" type="text" class="text-input" placeholder="e.g. special event" /></label>
|
|
<button type="submit" class="btn btn-primary">Add Override</button>
|
|
</form>
|
|
<p id="override-status" class="status-line" aria-live="polite"></p>
|
|
<div class="table-wrap" style="margin-top: 1rem">
|
|
<table class="data-table">
|
|
<thead>
|
|
<tr>
|
|
<th>Media ID</th>
|
|
<th>Start</th>
|
|
<th>End</th>
|
|
<th>Reason</th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="override-table-body"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|