{# T55 admin — app_config + theme switcher (Step 7). Live preview via inline JS sets --accent on documentElement; save persists to app_config and invalidates the in-memory cache. #} config — browser-recon admin {% include 'partials/admin_t55_styles.html' %} {% include 'partials/admin_t55_chrome.html' %}
07 — app config

One --accent. One handle. One depth counter.

Theme picker mirrors design D: seven preset swatches plus a custom hex. Saving writes both theme_accent_hex and theme_accent_name back to app_config and busts the 60s cache. Customer surfaces pick up the new accent on next page-load.

theme accent {{ current_name or 'custom' }}
{% for name, hex in swatches %} {% endfor %}
{{ current_hex }}
{# Hidden inputs that the form actually submits. The JS keeps them in lockstep with the picker UI; the swatch buttons are type=button so they don't submit the form themselves. #}
other knobs
// displayed on /waitlist as "you're #N in line"
reset preview