const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#2e7bff", "dark": true }/*EDITMODE-END*/; // dark-ink accents (light swatches) need black text on buttons const DARK_INK = new Set(["#9be15d", "#ffb020"]); function TweaksApp() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); React.useEffect(() => { document.documentElement.style.setProperty("--accent", t.accent); document.documentElement.style.setProperty("--accent-ink", DARK_INK.has(t.accent.toLowerCase()) ? "#11161f" : "#ffffff"); }, [t.accent]); return ( setTweak("accent", v)} /> ); } // apply current tweak values on first paint (before React mounts) to avoid flash. // Theme is owned by the top-left toggle (localStorage 'cvTheme'); respect it here. (function () { const root = document.documentElement; root.style.setProperty("--accent", TWEAK_DEFAULTS.accent); root.style.setProperty("--accent-ink", DARK_INK.has(TWEAK_DEFAULTS.accent.toLowerCase()) ? "#11161f" : "#ffffff"); let saved = null; try { saved = localStorage.getItem("cvTheme"); } catch (e) {} root.setAttribute("data-theme", saved || (TWEAK_DEFAULTS.dark ? "dark" : "light")); })(); ReactDOM.createRoot(document.getElementById("tweaks-root")).render();