// gtc-tweaks.jsx — Tweaks panel config for Gestiona Tu Centro // Persists to localStorage so changes apply across all pages. const GTC_TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "palette": "azul", "fontFamily": "Plus Jakarta Sans", "fontScale": 1, "density": 1, "heroStyle": "photo", "dark": false }/*EDITMODE-END*/; const FONT_FAMILIES = { "Plus Jakarta Sans": '"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif', "Inter": '"Inter", -apple-system, BlinkMacSystemFont, sans-serif', "DM Sans": '"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif', }; function GTCApp() { const [t, setTweak] = useTweaks(GTC_TWEAK_DEFAULTS); // Apply tweaks to React.useEffect(() => { const root = document.documentElement; // Theme if (t.dark) root.setAttribute('data-theme', 'dark'); else root.removeAttribute('data-theme'); // Density root.style.setProperty('--density', String(t.density)); // Font scale root.style.setProperty('--font-scale', String(t.fontScale)); // Font family const fontStack = FONT_FAMILIES[t.fontFamily] || FONT_FAMILIES["Plus Jakarta Sans"]; root.style.setProperty('--font-sans', fontStack); // Palette const palettes = window.GTC_PALETTES || {}; const p = palettes[t.palette]; if (p) Object.entries(p).forEach(([k, v]) => root.style.setProperty(k, v)); // Hero style root.setAttribute('data-hero', t.heroStyle); applyHeroVariant(t.heroStyle); // Persist to localStorage so other pages get the same look try { localStorage.setItem('gtc-tweaks', JSON.stringify({ theme: t.dark ? 'dark' : 'light', density: t.density, fontScale: t.fontScale, fontFamily: fontStack, palette: t.palette, heroStyle: t.heroStyle, })); } catch (e) {} }, [t]); return ( setTweak('palette', v)} /> setTweak('dark', v)} /> setTweak('fontFamily', v)} /> setTweak('fontScale', v)} /> setTweak('density', v)} /> setTweak('heroStyle', v)} /> ); } function applyHeroVariant(style) { const visual = document.querySelector('.hero .hero-visual'); if (!visual) return; visual.innerHTML = ''; if (style === 'photo') { visual.innerHTML = `
Profesora entregando libros de texto a un grupo de alumnos en un centro educativo
Inspección OK
Certificados generados automáticamente
`; } else if (style === 'mockup') { visual.innerHTML = `
app.gestionatucentro.com

Resumen del centro

+ Nuevo
Libros
1.284
Inventario
3.812
Carnets
412
Tarea
Responsable
Curso
Estado
Etiquetar libros 4º ESO
Secretaría
2025-26
Hecho
Carnets 1º Bachillerato
Conserjería
2025-26
En curso
`; } else if (style === 'type') { visual.innerHTML = `
Libros Inventario Carnet
+500
centros confían en nosotros
80%
menos tiempo
17
CC. AA.
4,9
valoración
`; } } // Mount const __gtcMount = document.createElement('div'); __gtcMount.id = '__gtc-tweaks-root'; document.body.appendChild(__gtcMount); ReactDOM.createRoot(__gtcMount).render();