feat: Priority-Eintraege in den Screen-Playlisten anzeigen

Die Priority-Playlist gilt fuer alle Screens eines Standorts, liegt aber
in einem eigenen Menuepunkt und wurde beim Bearbeiten der normalen
Playlisten leicht uebersehen. Sie erscheint jetzt oberhalb jeder
Screen-Playlist als abgesetzte, ausgegraute Liste mit Prio-Badge.

Reine Anzeige: keine Checkbox, keine Buttons, kein Drag. Die Zeilen
liegen bewusst in einer eigenen ul ausserhalb von #playlist-<screen>,
damit savePlaylist() sie nicht mit einsammelt. Sichtbar nur, wenn die
Priority-Playlist des Standorts aktiviert ist.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Erik Thiele
2026-09-08 09:04:38 +02:00
parent aeab158e47
commit 03ae5bf4ad
2 changed files with 48 additions and 0 deletions

View File

@@ -52,6 +52,19 @@
gap: 0.75rem;
}
/* ─── Prio-Vorschau: reine Anzeige, keine Bedienung ─── */
.playlist-prio {
display: grid;
grid-template-columns: 28px 1fr 90px 80px;
align-items: center;
gap: 0.75rem;
opacity: 0.72;
background: var(--tblr-bg-surface-secondary, #f8f9fa);
}
.playlist-prio .playlist-name {
font-weight: 500;
}
.playlist-name {
font-weight: 600;
overflow: hidden;
@@ -229,6 +242,32 @@
<!-- ═══ Tab: Playlist ═══ -->
<div class="tab-pane active" id="tab-playlist-{{ screen }}" role="tabpanel">
{% if priority_preview %}
<!-- Priority-Playlist des Standorts: laeuft diesen Screens vorweg.
Reine Anzeige - Bedienung ausschliesslich unter "Priority". -->
<ul class="list-group mb-2">
{% for file in priority_preview %}
<li class="list-group-item playlist-prio">
<i class="ti ti-player-play" title="Laeuft vorweg"></i>
<span class="playlist-name">
{{ file.name }}
{% if file.schedule %}<span class="badge ms-1 {% if file.active %}bg-info text-white{% else %}bg-secondary-lt{% endif %}" title="{{ file.schedule | schedule_text }}{% if not file.active %} — laeuft gerade nicht{% endif %}">Zeit</span>{% endif %}
{% if not file.enabled %}<span class="badge bg-secondary-lt ms-1">inaktiv</span>{% endif %}
</span>
<span class="badge bg-red text-red-fg">Prio</span>
<span class="playlist-size">
{% if file.type == "url" %}{{ file.size }}{% else %}{{ file.size }} KB{% endif %}
</span>
</li>
{% endfor %}
</ul>
<p class="text-muted small mb-3">
Diese Einträge kommen aus der
<a href="{{ url_for('admin_priority', site=current_site) }}">Priority-Playlist</a>
des Standorts und laufen allen Screens vorweg. Bearbeiten nur dort.
</p>
{% endif %}
<ul class="list-group mb-3" id="playlist-{{ screen }}">
{% for file in media_files[screen] %}
<li class="list-group-item playlist-row"