/* ForesightVet — Tweaks panel app.
   Drives page variants via data-attributes on <body> + CSS vars. */

const VD_DEFAULTS = /*EDITMODE-BEGIN*/{
  "heroTone": "escuro",
  "heroVisual": "app",
  "accent": "cyan",
  "ecgAnim": true
}/*EDITMODE-END*/;

function ForesightVetTweaks() {
  const [t, setTweak] = useTweaks(VD_DEFAULTS);

  React.useEffect(() => {
    const b = document.body;
    b.setAttribute('data-hero', t.heroTone);
    b.setAttribute('data-herovis', t.heroVisual);
    b.setAttribute('data-accent', t.accent);
    b.setAttribute('data-anim', t.ecgAnim ? 'on' : 'off');
  }, [t.heroTone, t.heroVisual, t.accent, t.ecgAnim]);

  return (
    <TweaksPanel title="Tweaks">
      <TweakSection label="Hero">
        <TweakRadio label="Tom" value={t.heroTone}
                    options={[{ value: 'escuro', label: 'Escuro' }, { value: 'claro', label: 'Claro' }]}
                    onChange={(v) => setTweak('heroTone', v)} />
        <TweakRadio label="Visual" value={t.heroVisual}
                    options={[{ value: 'app', label: 'App' }, { value: 'traco', label: 'Traçado' }]}
                    onChange={(v) => setTweak('heroVisual', v)} />
      </TweakSection>

      <TweakSection label="Marca">
        <TweakColor label="Destaque" value={t.accent === 'cyan' ? '#00C2E0' : '#3D9BF0'}
                    options={['#00C2E0', '#3D9BF0']}
                    onChange={(hex) => setTweak('accent', hex === '#00C2E0' ? 'cyan' : 'sky')} />
      </TweakSection>

      <TweakSection label="Movimento">
        <TweakToggle label="Traçado ECG animado" value={t.ecgAnim}
                     onChange={(v) => setTweak('ecgAnim', v)} />
      </TweakSection>
    </TweaksPanel>
  );
}

(function mountForesightVetTweaks() {
  function go() {
    const host = document.createElement('div');
    host.id = 'vd-tweaks-root';
    document.body.appendChild(host);
    ReactDOM.createRoot(host).render(<ForesightVetTweaks />);
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', go);
  else go();
})();
