// athena_mount.jsx — monta o AthenaChat no DOM, escutando mudanças de tweak

// Replica as paletas (lightweight) do redesign_app para standalone mount
const ATHENA_PALETTES = {
  greek: {
    bg: '#F7F3EC', bgAlt: '#EFE8DB', ink: '#0B2E55',
    accent: '#0D5EAF', gold: '#B8892B', goldLight: '#D4A84B',
    rule: 'rgba(11,46,85,0.14)', muted: '#57524A',
  },
  ink: {
    bg: '#F5F1EA', bgAlt: '#ECE5D8', ink: '#1A2238',
    accent: '#3B4771', gold: '#A07C2E', goldLight: '#C9A34E',
    rule: 'rgba(26,34,56,0.14)', muted: '#5A5548',
  },
  night: {
    bg: '#0E0E10', bgAlt: '#16161A', ink: '#F2ECDF',
    accent: '#D4A84B', gold: '#C9A34E', goldLight: '#E3C77A',
    rule: 'rgba(242,236,223,0.12)', muted: '#8F8A80',
  },
};
const ATHENA_SERIF_FAMILIES = {
  cormorant: '"Cormorant Garamond", Georgia, serif',
  instrument: '"Instrument Serif", Georgia, serif',
};

function AthenaMount() {
  const initial = (typeof window.__getTweaks === 'function') ? window.__getTweaks() : { palette: 'greek', serif: 'cormorant' };
  const [tweaks, setTweaks] = React.useState(initial);

  React.useEffect(() => {
    const handler = (e) => setTweaks({ ...e.detail });
    window.addEventListener('tweak-change', handler);
    return () => window.removeEventListener('tweak-change', handler);
  }, []);

  const palette = ATHENA_PALETTES[tweaks.palette] || ATHENA_PALETTES.greek;
  const serifFamily = ATHENA_SERIF_FAMILIES[tweaks.serif] || ATHENA_SERIF_FAMILIES.cormorant;

  return <window.AthenaChat palette={palette} serifFamily={serifFamily} />;
}

// Montar quando o DOM estiver pronto
(function mountAthena() {
  const el = document.getElementById('athena-root');
  if (!el) {
    window.addEventListener('DOMContentLoaded', mountAthena);
    return;
  }
  if (!window.AthenaChat) {
    // aguarda athena.jsx transpile
    setTimeout(mountAthena, 100);
    return;
  }
  const root = ReactDOM.createRoot(el);
  root.render(<AthenaMount />);
})();
