/* Tweaks panel */ const Tweaks = ({ values, onChange }) => { const [open, setOpen] = React.useState(true); const [visible, setVisible] = React.useState(false); React.useEffect(() => { const onMsg = (e) => { const d = e.data || {}; if (d.type === '__activate_edit_mode') setVisible(true); if (d.type === '__deactivate_edit_mode') setVisible(false); }; window.addEventListener('message', onMsg); // Announce availability AFTER the listener is live window.parent.postMessage({ type: '__edit_mode_available' }, '*'); return () => window.removeEventListener('message', onMsg); }, []); const set = (k, v) => { onChange({ [k]: v }); window.parent.postMessage({ type: '__edit_mode_set_keys', edits: { [k]: v } }, '*'); }; if (!visible) return null; return (