// Tweaks app — wires palette + hero variant tweaks to the static page.
const { useEffect } = React;

const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "theme": "lodge",
  "heroVariant": "default"
}/*EDITMODE-END*/;

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

  // Apply theme to <body>
  useEffect(() => {
    document.body.setAttribute('data-theme', t.theme);
  }, [t.theme]);

  // Apply hero variant
  useEffect(() => {
    const hero = document.querySelector('.hero');
    if (hero) hero.setAttribute('data-variant', t.heroVariant);
  }, [t.heroVariant]);

  return (
    <TweaksPanel title="Tweaks">
      <TweakSection label="Palette" />
      <TweakColor
        label="Theme"
        value={t.theme === 'lodge' ? ['#2f4439','#faf6ec','#c8853a']
              : t.theme === 'pine' ? ['#3a4d40','#f4f0e3','#7d9c70']
              : t.theme === 'ember' ? ['#3d2c22','#f5ecd8','#c89058']
              : ['#3a3f3a','#f1efe9','#a08254']}
        options={[
          ['#2f4439','#faf6ec','#c8853a'],
          ['#3a4d40','#f4f0e3','#7d9c70'],
          ['#3d2c22','#f5ecd8','#c89058'],
          ['#3a3f3a','#f1efe9','#a08254'],
        ]}
        onChange={(palette) => {
          const map = {
            '#2f4439': 'lodge',
            '#3a4d40': 'pine',
            '#3d2c22': 'ember',
            '#3a3f3a': 'stone',
          };
          setTweak('theme', map[palette[0]] || 'lodge');
        }}
      />
      <div style={{fontSize: 10.5, color: 'rgba(41,38,27,0.55)', marginTop: -4, lineHeight: 1.5}}>
        {t.theme === 'lodge' && 'Lodge — forest + cream + ember'}
        {t.theme === 'pine' && 'Pine — cooler greens, sage'}
        {t.theme === 'ember' && 'Ember — dark warm, gold'}
        {t.theme === 'stone' && 'Stone — quieter neutrals'}
      </div>

      <TweakSection label="Hero layout" />
      <TweakRadio
        label="Variant"
        value={t.heroVariant}
        options={['default', 'split', 'editorial']}
        onChange={(v) => setTweak('heroVariant', v)}
      />
      <div style={{fontSize: 10.5, color: 'rgba(41,38,27,0.55)', marginTop: -4, lineHeight: 1.5}}>
        {t.heroVariant === 'default' && 'Big headline, stats anchored to bottom.'}
        {t.heroVariant === 'split' && 'Headline left, info card on the right.'}
        {t.heroVariant === 'editorial' && 'Centered, magazine-style.'}
      </div>
    </TweaksPanel>
  );
}

const __twk_root = document.createElement('div');
document.body.appendChild(__twk_root);
ReactDOM.createRoot(__twk_root).render(<TweaksApp />);
