Compare commits
2 Commits
aeab158e47
...
ccfd90d4b5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ccfd90d4b5 | ||
|
|
03ae5bf4ad |
11
app.py
11
app.py
@@ -51,7 +51,7 @@ CONFIG_FILE = os.path.join(BASE_DIR, "config.json") # Persistente Konfiguration
|
||||
USERS_FILE = os.path.join(BASE_DIR, "users.json") # User-Datenbank
|
||||
HISTORY_FILE = os.path.join(BASE_DIR, "history.json") # Aktivitätsverlauf
|
||||
|
||||
APP_VERSION = "6.2.5"
|
||||
APP_VERSION = "6.2.6"
|
||||
UPLOAD_EXTENSIONS = {".jpg", ".jpeg", ".png", ".mp4"}
|
||||
|
||||
app = Flask(__name__)
|
||||
@@ -1554,12 +1554,21 @@ def admin(site):
|
||||
screen_status[screen_name] = "online" if screen_is_active(current_site, screen_name) else "offline"
|
||||
client_info[screen_name] = get_client_info(current_site, screen_name)
|
||||
|
||||
# Priority-Einträge des Standorts nur zur Anzeige mitgeben: sie gelten für
|
||||
# alle Screens, sind aber in einem eigenen Menüpunkt und werden hier leicht
|
||||
# übersehen. Bedienung bleibt ausschließlich auf der Priority-Seite.
|
||||
prio_cfg = get_priority_config(cfg, current_site) if current_site else {}
|
||||
priority_preview = []
|
||||
if current_site and prio_cfg.get("enabled", False):
|
||||
priority_preview = [f for f in load_priority_files(current_site) if "enabled" in f]
|
||||
|
||||
return render_template(
|
||||
"admin.html",
|
||||
site_list=site_list,
|
||||
current_site=current_site,
|
||||
screens=screens,
|
||||
media_files=media_files,
|
||||
priority_preview=priority_preview,
|
||||
screen_status=screen_status,
|
||||
client_info=client_info,
|
||||
version=APP_VERSION,
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user