diff --git a/lib/builtin-themes.ts b/lib/builtin-themes.ts index c2974762..9304d456 100644 --- a/lib/builtin-themes.ts +++ b/lib/builtin-themes.ts @@ -1010,6 +1010,91 @@ body[data-theme-skin="builtin-vnclagoon"] .rounded-2xl.border.bg-background\\/80 background-image: radial-gradient(56rem 38rem at 50% -12%, rgba(0, 212, 255, 0.10), transparent 60%) !important; }`; +// "SRC" — SRC Advisory brand. Swiss red (#D52B1E) on white, light-first, with a +// near-black stone-grey neutral. Dark variant brightens the red (#EF4444) on a +// warm near-black. Info stays blue so it never collides with the red accent. +const srcCSS = ` +:root { + --color-border: #e7e5e4; + --color-input: #e7e5e4; + --color-ring: #d52b1e; + --color-background: #ffffff; + --color-foreground: #1c1917; + --color-primary: #d52b1e; + --color-primary-foreground: #ffffff; + --color-secondary: #f5f5f4; + --color-secondary-foreground: #1c1917; + --color-muted: #f5f5f4; + --color-muted-foreground: #78716c; + --color-accent: #fdecea; + --color-accent-foreground: #a91b12; + --color-destructive: #b91c1c; + --color-destructive-foreground: #ffffff; + --color-popover: #ffffff; + --color-popover-foreground: #1c1917; + --color-sidebar: #fafaf9; + --color-sidebar-foreground: #1c1917; + --color-sidebar-border: #e7e5e4; + --color-sidebar-accent: #f5f5f4; + --color-sidebar-accent-foreground: #1c1917; + --color-card: #ffffff; + --color-card-foreground: #1c1917; + --color-success: #16a34a; + --color-success-foreground: #ffffff; + --color-warning: #ca8a04; + --color-warning-foreground: #ffffff; + --color-info: #2563eb; + --color-info-foreground: #ffffff; + --color-selection: #fdecea; + --color-selection-foreground: #a91b12; + --color-unread: #d52b1e; + --color-chart-1: #d52b1e; + --color-chart-2: #2563eb; + --color-chart-3: #ca8a04; + --color-chart-4: #16a34a; + --color-chart-5: #7c3aed; +} +.dark { + --color-border: #292524; + --color-input: #292524; + --color-ring: #ef4444; + --color-background: #1c1917; + --color-foreground: #f5f5f4; + --color-primary: #ef4444; + --color-primary-foreground: #ffffff; + --color-secondary: #292524; + --color-secondary-foreground: #f5f5f4; + --color-muted: #292524; + --color-muted-foreground: #a8a29e; + --color-accent: #3a1e1b; + --color-accent-foreground: #fca5a5; + --color-destructive: #dc2626; + --color-destructive-foreground: #ffffff; + --color-popover: #262322; + --color-popover-foreground: #f5f5f4; + --color-sidebar: #171412; + --color-sidebar-foreground: #f5f5f4; + --color-sidebar-border: #292524; + --color-sidebar-accent: #292524; + --color-sidebar-accent-foreground: #f5f5f4; + --color-card: #242120; + --color-card-foreground: #f5f5f4; + --color-success: #22c55e; + --color-success-foreground: #ffffff; + --color-warning: #eab308; + --color-warning-foreground: #1c1917; + --color-info: #60a5fa; + --color-info-foreground: #1c1917; + --color-selection: rgba(213, 43, 30, 0.25); + --color-selection-foreground: #fca5a5; + --color-unread: #ef4444; + --color-chart-1: #ef4444; + --color-chart-2: #60a5fa; + --color-chart-3: #eab308; + --color-chart-4: #22c55e; + --color-chart-5: #a78bfa; +}`; + export const BUILTIN_THEMES: InstalledTheme[] = [ { id: 'builtin-vnclagoon', @@ -1024,6 +1109,17 @@ export const BUILTIN_THEMES: InstalledTheme[] = [ enabled: true, builtIn: true, }, + { + id: 'builtin-src', + name: 'SRC', + version: '1.0.0', + author: 'VNC', + description: 'SRC Advisory brand theme — Swiss red on white, light-first', + css: srcCSS, + variants: ['light', 'dark'], + enabled: true, + builtIn: true, + }, { id: 'builtin-qui', name: 'Qui', diff --git a/public/branding/src-logo.svg b/public/branding/src-logo.svg new file mode 100644 index 00000000..a0ee6c49 --- /dev/null +++ b/public/branding/src-logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/vnc/VNC-CHANGES.md b/vnc/VNC-CHANGES.md index 8edbcaf8..23f17dae 100644 --- a/vnc/VNC-CHANGES.md +++ b/vnc/VNC-CHANGES.md @@ -30,6 +30,8 @@ that merging new upstream releases stays a triage exercise, not an archaeology d | 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 | +| 2026-08-03 | `lib/builtin-themes.ts` | add `builtin-src` theme (Swiss red on white, light-first) | 2nd brand theme (SRC Advisory); VNClagoon stays default | +| 2026-08-03 | `public/branding/src-logo.svg` (new) | SRC mountain mark | SRC brand (placeholder — swap official) | _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