{# HTMX fragment — monitor rows (list page). #} {% if monitor_data %} {% for d in monitor_data %} {% set m = d.monitor %} {% set latest = d.latest %}
{{ m.type | upper }} {% if m.host_id %} {{ m.name }} {% else %} {{ m.name }} {% endif %} {{ m.target }}
{% for _ in range([30 - d.heartbeat|length, 0]|max) %} {% endfor %} {% for h in d.heartbeat %} {% endfor %}
{% if latest is none %} {% elif not latest.is_up %} DOWN {% elif latest.response_ms is not none %} {{ "%.0f"|format(latest.response_ms) }} ms {% elif m.type == 'dns' and latest.resolved_ip %} {{ latest.resolved_ip }} {% else %} UP {% endif %}
{% if d.uptime_pct is not none %}{{ "%.1f"|format(d.uptime_pct) }}%{% else %}—{% endif %} {{ range_key }}
{% if d.tls_days is not none %}
cert {{ d.tls_days|round|int }}d
{% endif %} {% if session.user_role in ['operator', 'admin'] %}
Edit
{% endif %}
{% endfor %} {% else %}

No monitors yet. Add one above, or attach checks to a host from the Hosts page.

{% endif %}