{% extends "base.html" %} {% import "_settings_card_macro.html" as ext %} {% block title %}{{ _('Module Settings') }} — MediaForge{% endblock %} {% block styles %} {% endblock %} {% block content %}
{# Groups come from registry.resolve_module_settings() -- every enabled module that registered settings, grouped by the page its card also lives on. Rendered with the same shared macro the Integrations page uses, so the generic /api/settings/thirdparty/ API (static/extension_cards.js) drives every toggle/field with no extra wiring -- which is also why a card shown here and on its original page is not a copy: both edit the same settings through the same endpoint. #} {% set module_settings_groups = get_module_settings() %} {% if module_settings_groups %}
{% for group in module_settings_groups %}
{{ group.label }} {{ group.cards|length }}
{% if group.host != 'settings' %}
{{ _('These modules also keep their card on that page. Both places edit the same settings.') }}
{% endif %} {% for card in group.cards %} {{ ext.render_settings_card(card) }} {% endfor %} {% endfor %}
{% else %}

{{ _('No module has contributed settings yet. Enable a module in the Module Manager to see its settings here.') }}

{{ _('Open Module Manager') }}
{% endif %}
{% endblock %} {% block scripts %} {% endblock %}