// SATS — Tweaks panel app // Mounts a Tweaks panel that lets the user adjust the prototype live. const { useEffect } = React; function SatsTweaks() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); // Apply tweaks to the running site useEffect(() => { window.SATS && window.SATS.setAccent(t.accent); }, [t.accent]); useEffect(() => { window.SATS && window.SATS.setMotion(t.motion); }, [t.motion]); useEffect(() => { window.SATS && window.SATS.setMesh(t.mesh); }, [t.mesh]); useEffect(() => { document.documentElement.style.setProperty('--decrypt-duration', t.decryptSpeed + 'ms'); }, [t.decryptSpeed]); return ( setTweak('accent', v)} /> setTweak('motion', v)} /> setTweak('decryptSpeed', v)} /> setTweak('mesh', v)} /> window.SATS && window.SATS.setLang(v)} /> ); } // Mount const __satsTweaksMount = document.createElement('div'); document.body.appendChild(__satsTweaksMount); ReactDOM.createRoot(__satsTweaksMount).render();