{# ══════════════════════════════════════════════════════════════════════════ base.html — layout dispatcher (design A/B test) Every page template still does {% extends "base.html" %} exactly as before. This file no longer holds any markup; it forwards to whichever shell the current user has selected: jqc_layout == 'layouts/classic.html' → the original top-navbar design jqc_layout == 'layouts/modern.html' → the new sidebar design `jqc_layout` is injected by the inject_ui_theme() context processor in app/__init__.py, driven by users.ui_theme (see app/routes/ui.py). Jinja resolves {% block %} overrides through the whole inheritance chain, so child templates need no change at all. ══════════════════════════════════════════════════════════════════════════ #} {% extends jqc_layout %}