/* RojakStudio — Tweaks app.
   Three expressive controls that re-mix the whole site's feel.
   Values are written to <body data-*> attributes; styles.css does the rest. */

const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "blend": "sambal",
  "heat": "standard",
  "base": "midnight"
}/*EDITMODE-END*/;

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

  React.useEffect(() => {
    const b = document.body;
    b.dataset.blend = t.blend;
    b.dataset.heat = t.heat;
    b.dataset.base = t.base;
  }, [t.blend, t.heat, t.base]);

  return (
    <TweaksPanel title="Tweaks">
      <TweakSection label="House blend" />
      <TweakRadio
        label="Lead spice"
        value={t.blend}
        options={[
          { value: 'sambal', label: 'Sambal' },
          { value: 'kaya', label: 'Kaya' },
          { value: 'pandan', label: 'Pandan' },
        ]}
        onChange={(v) => setTweak('blend', v)}
      />

      <TweakSection label="Heat" />
      <TweakRadio
        label="Energy"
        value={t.heat}
        options={[
          { value: 'mild', label: 'Mild' },
          { value: 'standard', label: 'Standard' },
          { value: 'fiery', label: 'Fiery' },
        ]}
        onChange={(v) => setTweak('heat', v)}
      />

      <TweakSection label="Base" />
      <TweakRadio
        label="Canvas"
        value={t.base}
        options={[
          { value: 'midnight', label: 'Midnight' },
          { value: 'graphite', label: 'Graphite' },
          { value: 'kopi', label: 'Kopi' },
        ]}
        onChange={(v) => setTweak('base', v)}
      />
    </TweaksPanel>
  );
}

ReactDOM.createRoot(document.getElementById('tweaks-root')).render(<TweaksApp />);
