{{/* Chat surface (Phase 1 bridge). Server renders the page shell with full SPA scaffold. Existing SPA JS (app.js, ui-core.js, chat.js, etc.) populates these pre-built DOM elements with data. v0.22.6 fix: The original index.html contained the full scaffold (1,296 lines). When it was replaced with a redirect stub, this template needed the scaffold — but it was shipped empty. This template restores the required DOM structure. */}} {{define "surface-chat"}} {{/* ── Splash / Auth Gate ─────────────────────── Server-rendered surfaces use /login for auth, so the splash is hidden by default. Kept as a DOM node so showSplash()/ hideSplash() in app.js don't crash on null. */}} {{/* ── Crash Catcher (visible without devtools) ── */}} {{/* ── App Container ───────────────────────── */}} {{/* Side panel overlay (mobile) */}} {{/* ── Lightbox ────────────────────────────── */}} {{/* ── Command Palette ─────────────────────── */}} {{/* ── Hidden File Input ─────── */}} {{/* ── Team Admin Modal ────────────────────── */}} {{/* ── Debug Modal moved to base.html (available on all surfaces) ── */}} {{/* ── Notification bell is now inside .chat-header ── */}} {{/* ── Routing Policy Form (shared) ────────── */}} {{/* ── Auto-Compact Toggle (chat header option) */}} {{/* ── Fetch Models Button (admin) ─────────── */}} {{end}} {{define "css-chat"}} {{end}} {{define "scripts-chat"}} {{/* CM6 bundle — chat-specific (code input, extension editor) */}} {{/* App JS — order matches index.html (minus api/events/ui-primitives/ui-format already in base) */}} {{end}}