feat(app) : socle SvelteKit phase 0 — SSO, thème OKI, adapter-node
- Scaffold SvelteKit 2 + Svelte 5 (runes), TypeScript strict, adapter-node - Auth SSO via header Ynh-User (hooks.server) ; accueil public minimal sans header, 401 sur toute autre route ; DEV_USER en dev local uniquement - Design system OKI : tokens, thème sombre par défaut, clair opt-in anti-FOUC, flag-bar, fonts Archivo/Inter self-hébergées, sprite icons.svg (zéro emoji) - CSP via kit.csp (mode nonce) + en-têtes de sécurité ; paths.base configurable au build (BASE_PATH) pour le sous-chemin YunoHost, paths.relative = false - i18n fr (structure prête gcf/en), pages : accueil public/privé, erreurs designées - Tests vitest : résolution SSO + routes publiques (10 cas) - Vérifié : check/lint/test/build verts, test fumée HTTP sur build (SSO, CSP, sous-chemin /veille), zéro emoji et zéro domaine tiers dans le build
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
// Bascule de thème anti-FOUC — script externe (CSP : aucun script inline).
|
||||
// Thème sombre par défaut (identité OKI) ; clair opt-in persisté en localStorage.
|
||||
(function () {
|
||||
try {
|
||||
if (localStorage.getItem('veille-ia-theme') === 'light') {
|
||||
document.documentElement.classList.add('light-theme');
|
||||
}
|
||||
} catch {
|
||||
// localStorage indisponible : thème sombre par défaut, rien à faire.
|
||||
}
|
||||
})();
|
||||
Reference in New Issue
Block a user