/* global React */ const { useState: tUseState, useEffect: tUseEffect } = React; function Tweaks() { const [open, setOpen] = tUseState(false); const [vals, setVals] = tUseState(() => ({ ...(window.TWEAKS || {}) })); tUseEffect(() => { const onMsg = (e) => { const d = e.data || {}; if (d.type === '__activate_edit_mode') setOpen(true); if (d.type === '__deactivate_edit_mode') setOpen(false); }; window.addEventListener('message', onMsg); window.parent.postMessage({ type: '__edit_mode_available' }, '*'); return () => window.removeEventListener('message', onMsg); }, []); tUseEffect(() => { document.documentElement.style.setProperty('--accent', vals.accent); document.documentElement.setAttribute('data-theme', vals.theme); document.documentElement.setAttribute('data-density', vals.density); }, [vals]); const set = (patch) => { const next = { ...vals, ...patch }; setVals(next); window.parent.postMessage({ type: '__edit_mode_set_keys', edits: patch }, '*'); }; if (!open) return null; const swatches = [ { c: '#EC4E3C', name: 'Coral (logo)' }, { c: '#E5A23C', name: 'Ámbar' }, { c: '#5BAE74', name: 'Verde' }, { c: '#6B6FE8', name: 'Lavanda' }, { c: '#0B1540', name: 'Navy' }, ]; return (
Tweaks
LIVE
Acento
{swatches.map(s => (
Tema
Densidad
); } Object.assign(window, { Tweaks });