{# ── Global settings panel ────────────────────────────────────────────── Triggered by the gear button in base.html ($store.dojo.openSettings()). Entirely data-driven from GET /settings's JSON Schema (see lib/settings-panel.ts) - a field only needs markup here once, per widget *type*, not per setting, so a new/changed field in settings.py shows up automatically with no template edit required. ─────────────────────────────────────────────────────────────────────── #} {% macro settings_field_row(field_expr) %}
{% endmacro %} {# Renders one group's own content - its leaf fields, its subgroups (each still its own independently-collapsible mini-accordion), and its dict field, if any - with no outer per-group header/collapse-toggle of its own. Shared by both places a single group's content needs to render: the search-results view (one call per matching group, each wrapped in its own collapsible header there) and the left-nav "active section" view (exactly one call, for whichever section is currently selected, with no header/toggle needed since it's already the only thing shown). #} {% macro settings_group_body(group_expr) %} {{ settings_field_row('field') }}No entries
No entries