diff options
Diffstat (limited to 'main.html')
| -rw-r--r-- | main.html | 35 |
1 files changed, 32 insertions, 3 deletions
@@ -849,6 +849,35 @@ animation: float-in 0.15s ease-out; } </style> + <!-- Early persistence restore — apply saved theme + font-size BEFORE bundle loads to prevent FOUC --> + <script> + (function() { + try { + // Restore font size + var fs = localStorage.getItem('webx11_font_size'); + if (fs) { document.documentElement.style.fontSize = fs + 'px'; } + // Restore theme + var theme = localStorage.getItem('webx11_active_theme'); + if (theme) { + var themesRaw = localStorage.getItem('webx11_themes'); + var defaults = { + 'dark': { '--bg-color': '#000000', '--bg-secondary': '#0a0a0a', '--bg-tertiary': '#111111', '--text-color': '#00ff00', '--text-muted': '#888888', '--accent-color': '#00aa00', '--border-color': '#005500' }, + 'light': { '--bg-color': '#ffffff', '--bg-secondary': '#f5f5f5', '--bg-tertiary': '#eeeeee', '--text-color': '#222222', '--text-muted': '#888888', '--accent-color': '#0066cc', '--border-color': '#cccccc' }, + 'amber': { '--bg-color': '#1a0f00', '--bg-secondary': '#2a1a00', '--bg-tertiary': '#332200', '--text-color': '#ffaa00', '--text-muted': '#886600', '--accent-color': '#ff8800', '--border-color': '#663300' }, + 'cyber': { '--bg-color': '#000a14', '--bg-secondary': '#001a2e', '--bg-tertiary': '#002240', '--text-color': '#00ffff', '--text-muted': '#0088aa', '--accent-color': '#ff00ff', '--border-color': '#004466' }, + 'ocean': { '--bg-color': '#0a1628', '--bg-secondary': '#0f2240', '--bg-tertiary': '#142e54', '--text-color': '#88ddff', '--text-muted': '#5599bb', '--accent-color': '#00aaff', '--border-color': '#1a4470' }, + 'forest': { '--bg-color': '#0a1a0e', '--bg-secondary': '#0f2814', '--bg-tertiary': '#14361c', '--text-color': '#88dd88', '--text-muted': '#559955', '--accent-color': '#33cc33', '--border-color': '#1a4a22' }, + 'monochrome': { '--bg-color': '#0a0a0a', '--bg-secondary': '#181818', '--bg-tertiary': '#222222', '--text-color': '#cccccc', '--text-muted': '#666666', '--accent-color': '#999999', '--border-color': '#333333' }, + 'sunset': { '--bg-color': '#1a0a14', '--bg-secondary': '#2a1220', '--bg-tertiary': '#3a1a2c', '--text-color': '#ffbb99', '--text-muted': '#cc7755', '--accent-color': '#ff6644', '--border-color': '#552233' }, + 'midnight': { '--bg-color': '#050510', '--bg-secondary': '#0a0a20', '--bg-tertiary': '#101030', '--text-color': '#aaaaee', '--text-muted': '#555588', '--accent-color': '#6666ff', '--border-color': '#1a1a3a' } + }; + if (themesRaw) { try { Object.assign(defaults, JSON.parse(themesRaw)); } catch(e){} } + var t = defaults[theme]; + if (t) { for (var k in t) { document.documentElement.style.setProperty(k, t[k]); } } + } + } catch(e) {} + })(); + </script> </head> <body> <header> @@ -1281,11 +1310,11 @@ </script> <!-- v4.5.63: A2A scratchpad fixes + agent-register arg fix --> -<script src="modules/core/core-bundle.js?v=2026-06-18-v4.5.70"></script> -<script src="modules/ext/critical-ext-bundle.js?v=2026-06-18-v4.5.70"></script> +<script src="modules/core/core-bundle.js?v=2026-06-18-v4.5.74"></script> +<script src="modules/ext/critical-ext-bundle.js?v=2026-06-18-v4.5.74"></script> <!-- Async dependency-ordered module loader now only initializes terminal and loads optional ext modules --> -<script src="modules/core/module-loader.js?v=2026-06-18-v4.5.70"></script> +<script src="modules/core/module-loader.js?v=2026-06-18-v4.5.74"></script> <script> // ═══ ONE TRUE VERSION SOURCE ═══ |