{{ app_name }}

Starlark App — ID: {{ app_id }}

Starlark {% if app_enabled %} Enabled {% else %} Disabled {% endif %}

Status

Frames: {{ frame_count if has_frames else 'Not rendered' }}
Render Interval: {{ render_interval }}s
Display Duration: {{ display_duration }}s
Last Render: {{ last_render_time }}

Timing Settings

How often the app re-renders (fetches new data)

How long the app displays before rotating

{# ── Schema-driven App Settings ── #} {% set fields = [] %} {% if schema %} {% if schema.fields is defined %} {% set fields = schema.fields %} {% elif schema.schema is defined and schema.schema is iterable and schema.schema is not string %} {% set fields = schema.schema %} {% endif %} {% endif %} {% if fields %}

App Settings

{% for field in fields %} {% if field.typeOf is defined and field.id is defined %} {% set field_id = field.id %} {% set field_type = field.typeOf %} {% set field_name = field.name or field_id %} {% set field_desc = field.desc or '' %} {% set field_default = field.default if field.default is defined else '' %} {% set current_val = config.get(field_id, field_default) if config else field_default %} {# ── text ── #} {% if field_type == 'text' %}
{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── dropdown ── #} {% elif field_type == 'dropdown' %}
{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── toggle ── #} {% elif field_type == 'toggle' %}
{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── color ── #} {% elif field_type == 'color' %}
{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── datetime ── #} {% elif field_type == 'datetime' %}
{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── location (mini-form) ── #} {% elif field_type == 'location' %}
{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── oauth2 (unsupported) ── #} {% elif field_type == 'oauth2' %}
This app requires OAuth2 authentication, which is not supported in standalone mode.
{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── photo_select (unsupported) ── #} {% elif field_type == 'photo_select' %}
Photo upload is not supported in this interface.
{# ── generated (hidden meta-field, skip) ── #} {% elif field_type == 'generated' %} {# Invisible — generated fields are handled server-side by Pixlet #} {# ── typeahead / location_based (text fallback with note) ── #} {% elif field_type in ('typeahead', 'location_based') %}

This field normally uses autocomplete which requires a Pixlet server. Enter the value manually.

{% if field_desc %}

{{ field_desc }}

{% endif %}
{# ── unknown type (text fallback) ── #} {% else %}
{% if field_desc %}

{{ field_desc }}

{% endif %}
{% endif %} {% endif %}{# end field.typeOf and field.id check #} {% endfor %} {# Also show any config keys NOT in the schema (user-added or legacy) #} {% if config %} {% set schema_ids = [] %} {% for f in fields %} {% if f.id is defined %} {% if schema_ids.append(f.id) %}{% endif %} {% endif %} {% endfor %} {% for key, value in config.items() %} {% if key not in ('render_interval', 'display_duration') and key not in schema_ids %}
{% endif %} {% endfor %} {% endif %} {# ── No schema: fall back to raw config key/value pairs ── #} {% elif config %}

App Settings

{% for key, value in config.items() %} {% if key not in ('render_interval', 'display_duration') %}
{% endif %} {% endfor %} {% endif %}