/* Panneau Tweaks — Infosolutions30 */
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"direction": "Nuit Cévenole",
"palette": ["#5B7CFA", "#8B5CF6"],
"fontDisplay": "Poppins",
"fontBody": "Poppins",
"typeScale": 100,
"fx": 100,
"rain": true,
"anim": true,
"radius": 16,
"btnStyle": "Pilule",
"space": 100,
"contentW": 1180,
"caps": false,
"fab": true,
"zone": true
}/*EDITMODE-END*/;
const DIR_MAP = {
"Nuit Cévenole": "nuit",
"Carbone Électrique": "carbone",
"Clair Premium": "clair"
};
const FONT_MAP = {
"Poppins": "'Poppins', sans-serif",
"Space Grotesk": "'Space Grotesk', sans-serif",
"Sora": "'Sora', sans-serif",
"JetBrains Mono": "'JetBrains Mono', monospace"
};
const BTN_MAP = { "Pilule": "999px", "Arrondi": "14px", "Carré": "5px" };
function applyTweaks(t) {
const b = document.body;
b.dataset.dir = DIR_MAP[t.direction] || "nuit";
b.dataset.rain = t.rain ? "on" : "off";
b.dataset.anim = t.anim ? "on" : "off";
b.dataset.fab = t.fab ? "on" : "off";
b.dataset.zone = t.zone ? "on" : "off";
b.dataset.caps = t.caps ? "on" : "off";
const pal = Array.isArray(t.palette) ? t.palette : ["#5B7CFA", "#8B5CF6"];
b.style.setProperty("--accent", pal[0]);
b.style.setProperty("--accent-2", pal[1] || pal[0]);
b.style.setProperty("--fx", String((t.fx ?? 100) / 100));
b.style.setProperty("--radius", (t.radius ?? 16) + "px");
b.style.setProperty("--btn-radius", BTN_MAP[t.btnStyle] || "999px");
b.style.setProperty("--space", String((t.space ?? 100) / 100));
b.style.setProperty("--content-w", (t.contentW ?? 1180) + "px");
b.style.setProperty("--font-display", FONT_MAP[t.fontDisplay] || FONT_MAP["Poppins"]);
b.style.setProperty("--font-body", FONT_MAP[t.fontBody] || FONT_MAP["Poppins"]);
b.style.fontSize = (17 * (t.typeScale ?? 100) / 100).toFixed(2) + "px";
}
function TweaksApp() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
React.useEffect(() => { applyTweaks(t); }, [t]);
return (
setTweak("direction", v)}
/>
setTweak("palette", v)}
/>
setTweak("fontDisplay", v)}
/>
setTweak("fontBody", v)}
/>
setTweak("typeScale", v)}
/>
setTweak("caps", v)}
/>
setTweak("contentW", v)}
/>
setTweak("space", v)}
/>
setTweak("radius", v)}
/>
setTweak("btnStyle", v)}
/>
setTweak("fx", v)}
/>
setTweak("rain", v)}
/>
setTweak("anim", v)}
/>
setTweak("fab", v)}
/>
setTweak("zone", v)}
/>
);
}
applyTweaks(TWEAK_DEFAULTS);
const tweaksRoot = ReactDOM.createRoot(document.getElementById("tweaks-root"));
tweaksRoot.render();