feat(theme): VNClagoon brand theme (navy + cyan) as default, dark-first

Add builtin-vnclagoon theme (cyan #00D4FF accent on navy #0A0E1A, DM Sans body
+ Syne headings, self-hosted OFL fonts); set as default theme policy; default
mode dark. Add VNCmail wordmark SVGs (on-dark/on-light) + wire logo/company via
k8s secret template. Placeholder wordmark — swap official styleguide SVG.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Bernd Rodler
2026-08-03 17:42:04 +02:00
co-authored by Claude Opus 4.8
parent 476c76c420
commit 22e5e97da9
12 changed files with 149 additions and 5 deletions
+5
View File
@@ -25,6 +25,11 @@ that merging new upstream releases stays a triage exercise, not an archaeology d
| 2026-08-03 | `deploy/k8s/` (new) | k8s manifests + runbook for microk8s deploy | Bulwark is stateful → runs as a container w/ persistent volumes, not Vercel serverless |
| 2026-08-03 | `.gitignore` | ignore `deploy/k8s/secret.yaml` | keep the real env secret out of git |
| 2026-08-03 | `public/branding/*.svg` (new) | VNCmail wordmark (on-dark + on-light) | VNC logo (placeholder — swap official SVG) |
| 2026-08-03 | `public/fonts/*.woff2` (new) | DM Sans 400/500/700 + Syne 700/800 (OFL, self-hosted) | VNClagoon typography |
| 2026-08-03 | `lib/builtin-themes.ts` | add `builtin-vnclagoon` theme (navy+cyan, DM Sans/Syne, @font-face) | VNClagoon brand theme |
| 2026-08-03 | `lib/admin/types.ts` | `DEFAULT_THEME_POLICY.defaultThemeId``builtin-vnclagoon` | make VNClagoon the default theme |
| 2026-08-03 | `stores/theme-store.ts` | default `theme`/`resolvedTheme``dark` | dark-first per VNClagoon styleguide |
_Note: Vercel was tried and **abandoned** on 2026-08-03. Bulwark writes to a local
data dir (`/app/data/*`); Vercel serverless has a read-only filesystem → crash