/* Baikr — Settings panel island. Mounted on every page; applies live + persists. */
const BAIKR_TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "theme": "dark",
  "accent": "blue",
  "font": "serif",
  "motion": 1,
  "slogan": "找对人 · 说对话 · 快成交"
}/*EDITMODE-END*/;

function BaikrSettings() {
  let init = BAIKR_TWEAK_DEFAULTS;
  try {
    const s = JSON.parse(localStorage.getItem('baikr-tweaks') || 'null');
    if (s) init = { ...BAIKR_TWEAK_DEFAULTS, ...s };
  } catch (e) {}
  const [t, setTweak] = useTweaks(init);

  React.useEffect(() => {
    window.BaikrApplyTweaks && window.BaikrApplyTweaks(t);
    try { localStorage.setItem('baikr-tweaks', JSON.stringify(t)); } catch (e) {}
  }, [t]);

  const SLOGANS = [
    '找对人 · 说对话 · 快成交',
    '人人可用的企业级获客能力',
    '增长路上的 AI 伙伴，社群引路',
    '把获客，变成一门手艺'
  ];

  return (
    <TweaksPanel title="Settings">
      <TweakSection label="外观 / Appearance" />
      <TweakRadio label="主题配色" value={t.theme}
        options={[{value:'dark',label:'暗色'},{value:'warm',label:'暖色'}]}
        onChange={(v) => setTweak('theme', v)} />
      <TweakColor label="主题色"
        value={({clay:'#C0573A',blue:'#3B6FE0',purple:'#7C5BD6',amber:'#CC7A1E'})[t.accent] || '#3B6FE0'}
        options={['#3B6FE0','#C0573A','#7C5BD6','#CC7A1E']}
        onChange={(hex) => setTweak('accent',
          ({'#3b6fe0':'blue','#c0573a':'clay','#7c5bd6':'purple','#cc7a1e':'amber'})[hex.toLowerCase()] || 'blue')} />

      <TweakSection label="字体 / Typography" />
      <TweakRadio label="标题字体" value={t.font}
        options={[{value:'serif',label:'衬线'},{value:'sans',label:'黑体'}]}
        onChange={(v) => setTweak('font', v)} />

      <TweakSection label="动效 / Motion" />
      <TweakSlider label="信号强度" value={t.motion} min={0.3} max={1.8} step={0.1}
        onChange={(v) => setTweak('motion', v)} />

      <TweakSection label="文案 / Copy" />
      <TweakSelect label="主 Slogan" value={t.slogan} options={SLOGANS}
        onChange={(v) => setTweak('slogan', v)} />

      <TweakButton label="恢复默认" secondary onClick={() => setTweak({ ...BAIKR_TWEAK_DEFAULTS })} />
    </TweaksPanel>
  );
}

(function mount() {
  const el = document.createElement('div');
  el.id = 'baikr-tweaks-root';
  document.body.appendChild(el);
  ReactDOM.createRoot(el).render(<BaikrSettings />);
})();
