/* ============================================================
   DM.MEDIA — панель Tweaks
   Управляет первым экраном, акцентом и шрифтом через CSS-переменные
   и data-атрибуты на <html>. Сама страница — обычный HTML.
   ============================================================ */
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "hero": "a",
  "layout": "left",
  "accent": ["#7c5cff", "#5a6bf0"],
  "font": "Golos Text"
}/*EDITMODE-END*/;

const HERO_LABELS = {
  a: "«Реклама, которую видят»",
  b: "«На 35 экранах Ижевска»",
  c: "«Там, где ваша аудитория»"
};

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

  React.useEffect(function(){
    const r = document.documentElement;
    r.setAttribute("data-hero", t.hero);
    r.setAttribute("data-hero-layout", t.layout);
    const a = Array.isArray(t.accent) ? t.accent : ["#7c5cff","#5a6bf0"];
    r.style.setProperty("--violet", a[0]);
    r.style.setProperty("--indigo", a[1] || a[0]);
    r.style.setProperty("--font-display", '"'+t.font+'", system-ui, sans-serif');
  }, [t.hero, t.layout, t.accent, t.font]);

  return (
    <TweaksPanel title="Tweaks">
      <TweakSection label="Первый экран" />
      <TweakRadio label="Оффер" value={t.hero}
        options={[{value:"a",label:"Слоган"},{value:"b",label:"Охват"},{value:"c",label:"Аудитория"}]}
        onChange={(v)=>setTweak("hero", v)} />
      <div style={{font:"12px/1.4 system-ui",color:"#8b8b96",margin:"-4px 2px 10px"}}>{HERO_LABELS[t.hero]}</div>
      <TweakRadio label="Композиция" value={t.layout}
        options={[{value:"left",label:"Слева"},{value:"center",label:"По центру"}]}
        onChange={(v)=>setTweak("layout", v)} />

      <TweakSection label="Стиль" />
      <TweakColor label="Акцент" value={t.accent}
        options={[["#7c5cff","#5a6bf0"],["#8b3dff","#c24bff"],["#5566ff","#36b6ff"],["#a23bff","#7c5cff"]]}
        onChange={(v)=>setTweak("accent", v)} />
      <TweakRadio label="Шрифт заголовков" value={t.font}
        options={[{value:"Golos Text",label:"Golos"},{value:"Manrope",label:"Manrope"},{value:"Oswald",label:"Oswald"}]}
        onChange={(v)=>setTweak("font", v)} />
    </TweaksPanel>
  );
}

(function mount(){
  const node = document.createElement("div");
  node.id = "dm-tweaks-root";
  document.body.appendChild(node);
  ReactDOM.createRoot(node).render(<DMTweaks />);
})();
