/* global React, ReactDOM */ const { useState: useStateA, useEffect: useEffectA } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#A8853A" }/*EDITMODE-END*/; function App() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); const [quizOpen, setQuizOpen] = useStateA(false); const [legalKind, setLegalKind] = useStateA(null); // 'privacy' | 'terms' | null // accent CSS var useEffectA(() => { if (t.accent) { document.documentElement.style.setProperty("--gold", t.accent); } else { document.documentElement.style.removeProperty("--gold"); } }, [t.accent]); // lock body scroll while quiz / legal open useEffectA(() => { const lock = quizOpen || legalKind; document.body.style.overflow = lock ? "hidden" : ""; return () => { document.body.style.overflow = ""; }; }, [quizOpen, legalKind]); // form-card → "open privacy" custom event bridge useEffectA(() => { function onOpen() { setLegalKind("privacy"); } window.addEventListener("openPrivacy", onOpen); return () => window.removeEventListener("openPrivacy", onOpen); }, []); const openQuiz = () => setQuizOpen(true); const closeQuiz = () => setQuizOpen(false); return ( <>
setQuizOpen(true)}/>