/* ============================================================
   BADIA PARTNERS — Tweaks panel
   Drives aesthetic directions (mood / hero layout / focus / font)
   onto <html> data-attributes, which styles.css themes from.
   ============================================================ */

const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "mood": "forest",
  "hero": "split",
  "focus": "finance",
  "font": "caslon"
}/*EDITMODE-END*/;

function AbadiaTweaks() {
  const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);

  // apply to <html> on every change (and on mount)
  React.useEffect(() => {
    const r = document.documentElement;
    r.setAttribute("data-mood", t.mood);
    r.setAttribute("data-hero", t.hero);
    r.setAttribute("data-font", t.font);
    if (window.AB) window.AB.setFocus(t.focus);
    else r.setAttribute("data-focus", t.focus);
  }, [t.mood, t.hero, t.font, t.focus]);

  return (
    <TweaksPanel title="Tweaks">
      <TweakSection label="Color & mood" />
      <TweakRadio
        label="Direction" value={t.mood}
        options={["forest", "ink", "espresso"]}
        onChange={(v) => setTweak("mood", v)} />

      <TweakSection label="Hero" />
      <TweakRadio
        label="Layout" value={t.hero}
        options={["center", "left", "split"]}
        onChange={(v) => setTweak("hero", v)} />
      <TweakSelect
        label="Headline angle" value={t.focus}
        options={["general", "revenue", "finance"]}
        onChange={(v) => setTweak("focus", v)} />

      <TweakSection label="Typography" />
      <TweakSelect
        label="Display serif" value={t.font}
        options={["spectral", "newsreader", "caslon"]}
        onChange={(v) => setTweak("font", v)} />
    </TweaksPanel>
  );
}

(function mountTweaks() {
  const root = document.getElementById("tweaks-root");
  if (root && window.ReactDOM) {
    ReactDOM.createRoot(root).render(<AbadiaTweaks />);
  }
})();
