// ============= APP V2 =============
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"palette": "pastel",
"density": "comfy",
"hero": "promesa",
"countdown": true,
"sticky": true
}/*EDITMODE-END*/;
const App = () => {
const [state, setState] = React.useState(() => {
try {
const saved = JSON.parse(localStorage.getItem('__tweaks_v2') || 'null');
if (saved) return { ...TWEAK_DEFAULTS, ...saved, palette: TWEAK_DEFAULTS.palette };
} catch {}
return TWEAK_DEFAULTS;
});
const [tweaksOpen, setTweaksOpen] = React.useState(false);
React.useEffect(() => {
document.documentElement.setAttribute('data-palette', state.palette);
document.documentElement.setAttribute('data-density', state.density);
try { localStorage.setItem('__tweaks_v2', JSON.stringify(state)); } catch {}
}, [state]);
React.useEffect(() => {
const onMsg = (ev) => {
const t = ev.data && ev.data.type;
if (t === '__activate_edit_mode') setTweaksOpen(true);
if (t === '__deactivate_edit_mode') setTweaksOpen(false);
};
window.addEventListener('message', onMsg);
window.parent.postMessage({ type: '__edit_mode_available' }, '*');
return () => window.removeEventListener('message', onMsg);
}, []);
return (
<>
{state.sticky && }
{tweaksOpen && setTweaksOpen(false)} />}
>
);
};
ReactDOM.createRoot(document.getElementById('root')).render();