/* 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 (
setOpen(!open)}> TWEAKS DESIGN KNOBS
{[ {k:'a', lbl:'A ストレス消す'}, {k:'b', lbl:'B 面倒ごと'}, {k:'c', lbl:'C パートナー'} ].map(o => ( ))}
{['A','B'].map(o => ( ))}
{[ {k:'orange', c:'#e67e22'}, {k:'green', c:'#2f8c5f'}, {k:'red', c:'#c1392b'} ].map(s => (
実績バッジをHeroに表示 set('showBadges', e.target.checked)}/>
代表あいさつセクション set('showRep', e.target.checked)}/>
); }; window.Tweaks = Tweaks;