{% extends "base.html" %} {% import "_settings_card_macro.html" as ext %} {% block title %}Monitoring — MediaForge{% endblock %} {% block styles %} {# Module panels below use the shared settings-card markup, which the Integrations page's stylesheet owns. #} {% endblock %} {% block content %} {# Monitoring — built exactly like the Settings / Integrations pages: one page, a floating side menu switching client-side between panels (no reload). The Statistics / Download History / Uptime bodies are the same partials the standalone routes use, so there is a single source of truth. #}
{# Full-width page header on top (like Settings/Integrations), then the floating menu + panels below it. #} {% include "_monitoring_nav.html" %}
{{ _('Statistics') }}
{{ _('Overview of your download activity') }}
{{ _('Open') }}
{{ _('Download History') }}
{{ _('Every downloaded episode with start and end time') }}
{{ _('Open') }}
{% if uptime_enabled %}
UpTime
{{ _('Live monitoring of your source sites — reachability and real-site verification') }}
{{ _('Open') }}
{% endif %} {# Same tile treatment for module tabs, so the overview stays the full table of contents of this page rather than only its built-in half. icon/description come from the module's overview_icon_svg / overview_description (see register_thirdparty). #} {% for t in get_dynamic_tabs('monitoring') %}
{{ t.icon_svg|safe }}
{{ t.label }}M
{{ t.description or _('Monitoring module') }}
{{ _('Open') }}
{% endfor %}
{% include "_stats_body.html" %}
{% include "_history_body.html" %}
{% if uptime_enabled %}
{% include "_uptime_body.html" %}
{% endif %} {# Module panels — one per settings_host="monitoring" module (see the "Modules" group in _monitoring_nav.html and registry.py's resolve_dynamic_tabs()). Rendered with the same shared card macro every other settings page uses, so the generic /api/settings/thirdparty/ API drives every toggle/field with no extra wiring here. #} {% for t in get_dynamic_tabs('monitoring') %}
{% for card in get_settings_cards('monitoring', t.id) %} {{ ext.render_settings_card(card) }} {% endfor %}
{% endfor %}
{% endblock %} {% block scripts %} {# MFCharts must load before stats.js, which draws the Statistics panel. #} {# Collapsible behaviour + the generic enable toggle/field saving for the module panels above (see _settings_card_macro.html). #} {% endblock %}