{{define "base.html"}} {{block "title" .}}Armature{{end}} {{/* Decomposed from monolithic styles.css (v0.22.9) */}} {{/* css-chat, css-notes, css-projects templates removed — surfaces provide their own styles */}} {{/* v0.27.0: Extension surface CSS — loaded from /surfaces/{id}/css/main.css */}} {{if and .Manifest (eq .Manifest.Source "extension")}} {{end}} {{if .Banner.Visible}} {{end}} {{if .Message.Visible}}
{{.Message.Text}}
{{end}}
{{if eq .Surface "admin"}}{{template "surface-admin" .}} {{else if eq .Surface "team-admin"}}{{template "surface-team-admin" .}} {{else if eq .Surface "settings"}}{{template "surface-settings" .}} {{else if eq .Surface "welcome"}}{{template "surface-welcome" .}} {{else if eq .Surface "docs"}}{{template "surface-docs" .}} {{else if and .Manifest (eq .Manifest.Source "extension")}}{{template "surface-extension" .}} {{else}}
Unknown surface: {{.Surface}}
{{end}}
{{if .Footer.Visible}} {{end}} {{if .Banner.Visible}} {{end}} {{/* All surfaces use Preact SDK boot(). Legacy script includes removed. Standalone utils: debug.js, repl.js (no SDK dependencies). */}} {{if eq .Surface "admin"}}{{template "scripts-admin" .}}{{end}} {{if eq .Surface "team-admin"}}{{template "scripts-team-admin" .}}{{end}} {{if eq .Surface "settings"}}{{template "scripts-settings" .}}{{end}} {{if eq .Surface "welcome"}}{{template "scripts-welcome" .}}{{end}} {{if eq .Surface "docs"}}{{template "scripts-docs" .}}{{end}} {{/* v0.27.0: Extension surface JS — load Preact globals, boot SDK, then extension */}} {{if and .Manifest (eq .Manifest.Source "extension")}} {{end}} {{/* v0.6.5: Browser-tier extension scripts (renderers, etc.) Loaded after surface scripts so sw:ready fires first. */}} {{range .BrowserExtensions}} {{end}} {{/* v0.37.13: Legacy UserMenu hydration removed — all surfaces use Preact UserMenu. */}} {{/* ── Debug Modal (Preact, v0.37.18) ───── */}}
{{end}}