/* GreenEdge Solutions — Tweaks panel
   Bridges React tweak state -> the vanilla site via <html> data-attributes + CSS vars. */

const GE_DEFAULTS = /*EDITMODE-BEGIN*/{
  "home": "a",
  "accent": "balanced",
  "font": "space",
  "radius": 14
}/*EDITMODE-END*/;

function GreenEdgeTweaks() {
  const [t, setTweak] = useTweaks(GE_DEFAULTS);

  React.useEffect(() => {
    const root = document.documentElement;
    root.dataset.home = t.home;
    root.dataset.accent = t.accent;
    root.dataset.font = t.font;
    root.style.setProperty('--radius', t.radius + 'px');
    root.style.setProperty('--radius-sm', Math.max(4, t.radius - 6) + 'px');
  }, [t.home, t.accent, t.font, t.radius]);

  return (
    <TweaksPanel title="Tweaks">
      <TweakSection label="Homepage direction" />
      <TweakRadio
        label="Layout"
        value={t.home}
        options={[
          { value: 'a', label: 'Authority' },
          { value: 'b', label: 'Editorial' },
          { value: 'c', label: 'Systematic' },
        ]}
        onChange={(v) => setTweak('home', v)}
      />

      <TweakSection label="Brand" />
      <TweakRadio
        label="Accent emphasis"
        value={t.accent}
        options={[
          { value: 'blue', label: 'Blue' },
          { value: 'balanced', label: 'Balanced' },
          { value: 'cream', label: 'Cream' },
        ]}
        onChange={(v) => setTweak('accent', v)}
      />
      <TweakRadio
        label="Display font"
        value={t.font}
        options={[
          { value: 'space', label: 'Grotesk' },
          { value: 'archivo', label: 'Archivo' },
          { value: 'sora', label: 'Sora' },
        ]}
        onChange={(v) => setTweak('font', v)}
      />
      <TweakSlider
        label="Corner radius"
        value={t.radius}
        min={0}
        max={22}
        unit="px"
        onChange={(v) => setTweak('radius', v)}
      />
    </TweaksPanel>
  );
}

(function mountGreenEdgeTweaks() {
  const host = document.createElement('div');
  host.id = 'ge-tweaks-root';
  document.body.appendChild(host);
  ReactDOM.createRoot(host).render(<GreenEdgeTweaks />);
})();
