feat: architectural grid editor fullPage + slash commands + doc info panel + AI title

This commit is contained in:
Antigravity
2026-05-07 22:29:02 +00:00
parent 0d8252aec0
commit e458b63115
126 changed files with 7652 additions and 1110 deletions

View File

@@ -1,31 +1,35 @@
export function getThemeScript(theme: string = 'light') {
return `
(function() {
try {
var localTheme = localStorage.getItem('theme-preference');
var theme = localTheme || '${theme}';
var root = document.documentElement;
root.classList.remove('dark');
root.removeAttribute('data-theme');
/**
* Script inline exécuté avant lhydratation : même logique que `applyDocumentTheme`.
*/
import { normalizeThemeId } from './apply-document-theme'
if (theme === 'auto') {
if (window.matchMedia('(prefers-color-scheme: dark)').matches) {
root.classList.add('dark');
}
} else if (theme === 'dark') {
root.classList.add('dark');
} else if (theme === 'light') {
// do nothing
} else {
root.setAttribute('data-theme', theme);
if (theme === 'midnight') {
root.classList.add('dark');
}
}
} catch (e) {
console.error('Theme script error', e);
}
})();
`
export function getThemeScript(serverTheme: string = 'light') {
const fallback = normalizeThemeId(serverTheme)
return `
(function() {
try {
var fallback = ${JSON.stringify(fallback)};
var stored = localStorage.getItem('theme-preference');
var raw = stored || fallback;
if (raw === 'slate') raw = 'light';
var allowed = { light:1, dark:1, auto:1, sepia:1, midnight:1, rose:1, green:1, lavender:1, sand:1, ocean:1, sunset:1, blue:1 };
var theme = allowed[raw] ? raw : 'light';
var root = document.documentElement;
root.classList.remove('dark');
root.removeAttribute('data-theme');
if (theme === 'auto') {
if (window.matchMedia('(prefers-color-scheme: dark)').matches) root.classList.add('dark');
} else if (theme === 'dark') {
root.classList.add('dark');
} else if (theme === 'light') {
/* :root papier */
} else {
root.setAttribute('data-theme', theme);
if (theme === 'midnight') root.classList.add('dark');
}
} catch (e) {
console.error('Theme script error', e);
}
})();
`.trim()
}