// Tweaks: language, palette, hero treatment. const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "language": "nl", "palette": "neon", "heroPhoneTilt": -3, "showFloatChips": true, "showMarquee": true }/*EDITMODE-END*/; function applyTweaks(t) { if (window.ZUIPIE_APPLY_LANG) window.ZUIPIE_APPLY_LANG(t.language); document.documentElement.setAttribute('data-palette', t.palette); const phone = document.querySelector('.hero-phone'); if (phone) phone.style.transform = `rotate(${t.heroPhoneTilt}deg)`; document.querySelectorAll('.float-chip').forEach(el => { el.style.display = t.showFloatChips ? '' : 'none'; }); const marq = document.querySelector('.marquee'); if (marq) marq.style.display = t.showMarquee ? '' : 'none'; } // Apply initial defaults immediately (don't wait for tweaks toggle) applyTweaks(TWEAK_DEFAULTS); function ZuipieTweaks() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); React.useEffect(() => { applyTweaks(t); }, [t]); return ( setTweak('language', v)} /> setTweak('palette', v)} /> setTweak('heroPhoneTilt', v)} /> setTweak('showFloatChips', v)} /> setTweak('showMarquee', v)} /> ); } const tweakHost = document.createElement('div'); document.body.appendChild(tweakHost); ReactDOM.createRoot(tweakHost).render();