/* ===== App + Tweaks ===== */
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"hero": "split",
"accent": "#2f6bff",
"neon": "#2ad6ff",
"corners": "arrondis",
"fontScale": 18,
"plan": "Tranquillité",
"sparkle": true,
"stickyBar": true
}/*EDITMODE-END*/;
const HERO_LABELS = { split: "Split", centre: "Centré", plein: "Plein écran" };
function applyTweaks(t) {
const r = document.documentElement.style;
r.setProperty("--accent", t.accent);
r.setProperty("--neon", t.neon);
// pick a complementary second neon
const second = t.neon.toLowerCase() === "#ff2d78" ? "#2ad6ff"
: t.neon.toLowerCase() === "#7c5cff" ? "#2ad6ff" : "#ff2d78";
r.setProperty("--neon-2", second);
const sharp = t.corners === "nets";
r.setProperty("--radius", sharp ? "4px" : "18px");
r.setProperty("--radius-sm", sharp ? "3px" : "12px");
r.setProperty("--fs", t.fontScale + "px");
}
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
const [modal, setModal] = useState(false);
useEffect(() => { applyTweaks(t); }, [t.accent, t.neon, t.corners, t.fontScale]);
const onCall = () => setModal(true);
return (
setModal(false)} />
setTweak("hero", Object.keys(HERO_LABELS).find(k => HERO_LABELS[k] === v))} />
setTweak("corners", v)} />
setTweak("accent", v)} />
setTweak("neon", v)} />
setTweak("plan", v)} />
setTweak("sparkle", v)} />
setTweak("stickyBar", v)} />
setTweak("fontScale", v)} />
);
}
ReactDOM.createRoot(document.getElementById("root")).render();