{% extends "base.html" %} {% block title %}Screens · LibreSignage{% endblock %} {% block head %}{% endblock %} {% block content %} {% set cloned_credentials = session.pop('new_screen_credentials', []) %} {% if cloned_credentials %} {% endif %} {% if g.user.role == 'admin' %}

The new screen remains unpublished until you assign content and publish it.

{% endif %} {% if can_publish_all or publish_groups %}

Ready to publish

{{ unpublished_count }} {{ 'screen has' if unpublished_count == 1 else 'screens have' }} staged changes.

{% if publish_groups %}
{% endif %} {% if can_publish_all %}
{% endif %}
{% endif %}

Fleet inventory

Open a screen to manage playback, settings, and device access.

{% if screens %} {% endif %}
{% for screen in screens %} {% set profile = profiles[screen.id] %} {% set assignment = layout_assignments[screen.id] %}

{{ screen.name }}

{{ health_states[screen.id]|title }} {% if screen.id in unpublished_ids %}Staged changes{% elif screen.published_revision %}Published r{{ screen.published_revision }}{% endif %}
{{ profile.location or 'No location' }} {{ profile.resolution_label }} · {{ profile.orientation }} {% if assignment.draft_layout_id %}{{ assignment.draft_layout_name }}{% elif screen.draft_use_schedules %}Scheduled channel{% elif screen.draft_playlist_id %}{{ screen.draft_playlist_name }}{% else %}No assignment{% endif %}
{% if profile.group_names %}
{% for group_name in profile.group_names %}{{ group_name }}{% endfor %}
{% endif %}
Manage
{% else %}

No screens registered

Add a screen to create its player identity.

{% endfor %}
{% endblock %} {% block scripts %}{% endblock %}