{% extends "base.html" %} {% block title %}{{ screen.name }} · Screens · LibreSignage{% endblock %} {% block head %} {% endblock %} {% block content %} {% if tab == 'overview' %}

Playback status

What the player shows now and what will change next.

Manage playback
Published now {% if not screen.published_revision %}Nothing published yet {% elif layout_assignment.published_layout_id %}{{ layout_assignment.published_layout_name or 'Unknown layout' }} · Multi-zone layout {% elif screen.published_use_schedules %}Scheduled channel {% elif screen.published_playlist_id %}{{ screen.published_playlist_name or 'Unknown playlist' }} · Direct playlist {% else %}Nothing assigned{% endif %} {% if screen.published_revision %}Revision {{ screen.published_revision }}{% endif %}
Staged next {% if layout_assignment.draft_layout_id %}{{ layout_assignment.draft_layout_name or 'Unknown layout' }} · Multi-zone layout {% elif screen.draft_use_schedules %}Scheduled channel {% elif screen.draft_playlist_id %}{{ screen.draft_playlist_name or 'Unknown playlist' }} · Direct playlist {% else %}Nothing assigned{% endif %} {% if screen.has_unpublished_changes or layout_assignment.has_unpublished_changes %}Waiting to be published{% else %}Matches the published assignment{% endif %}

Device health

Last contact{% if screen.last_seen_at %}{% else %}Never connected{% endif %}
Offline readiness{% if health_report and health_report.cache_ready %}Ready{% else %}Not ready{% endif %}
Service worker{% if health_report and health_report.service_worker_active %}Active{% else %}Inactive{% endif %}
Display{{ profile.resolution_label }} · {{ profile.orientation }}
{% if health_report and health_report.last_error %}{% endif %} {% if health_report and health_report.last_content_title %}

Last played: {{ health_report.last_content_title }}

{% endif %}
{% elif tab == 'playback' %}

Stage playback assignment

Choose what this screen should play next. Players do not change until an authorized user publishes the staged revision.

{% if g.user.role != 'viewer' %}
{% endif %}
{% elif tab == 'settings' %} {% if g.user.role == 'admin' %}

Screen settings

Identity, placement, display profile, and venue playback policy.

Display profile
Groups
{% for group in groups %}
{% else %}No groups are available.{% endfor %}
{% else %}

Screen settings

Only administrators can change device settings.

Location
{{ profile.location or 'Not set' }}
Display
{{ profile.resolution_label }} · {{ profile.orientation }}
Scaling
{{ profile.scaling_mode|title }}
Audio
{{ profile.audio_policy|title }}
{% endif %} {% elif tab == 'access' %} {% if g.user.role == 'admin' %}

Authenticated client setup

Run this command on the display device. Treat its credential like a password.

libresignage-client configure --server-url {{ server_url }} --screen-slug {{ screen.slug }} --screen-token {{ screen_token }}

Danger zone

Removing this screen permanently invalidates its player URL and cannot be undone.

{% else %}

Access is administrator-only

Credentials, cloning, and destructive device actions are hidden from editors and viewers.

{% endif %} {% endif %} {% endblock %} {% block scripts %} {% endblock %}