/* App — top-level composition + Tweaks panel */

const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
  "variant": "A",
  "showFloatTags": true,
  "accentMix": "blue-dominant"
}/*EDITMODE-END*/;

const App = () => {
  const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS);
  const [contactOpen, setContactOpen] = React.useState(false);

  // Expose contact opener globally for plan cards
  React.useEffect(() => {
    window.__sidContactOpen = () => setContactOpen(true);
    return () => { delete window.__sidContactOpen; };
  }, []);

  // Apply variant to <html data-variant>
  React.useEffect(() => {
    document.documentElement.setAttribute('data-variant', tweaks.variant);
  }, [tweaks.variant]);

  const openContact = () => setContactOpen(true);

  return (
    <>
      <SiteHeader onContactClick={openContact} />
      <main>
        <Hero variant={tweaks.variant} onContactClick={openContact} />
        <SectionFeatures />
        <SectionVideo />
        <SectionAudience />
        <SectionOperations onContactClick={openContact} />
        <SectionProcess />
        <SectionGallery />
        <SectionCompare />
        <SectionPricing />
        <SectionFaq />
        <BottomCta onContactClick={openContact} />
      </main>
      <SiteFooter />
      <ContactModal open={contactOpen} onClose={() => setContactOpen(false)} />

      <TweaksPanel title="Tweaks">
        <TweakSection label="레이아웃 변형">
          <TweakRadio
            label="히어로 디자인"
            value={tweaks.variant}
            options={[
              {value: 'A', label: 'A · 에디토리얼'},
              {value: 'B', label: 'B · 프로덕트'},
            ]}
            onChange={(v) => setTweak('variant', v)}
          />
        </TweakSection>
        <TweakSection label="비교 가이드">
          <div style={{fontSize: 11, color: 'rgba(0,0,0,0.55)', lineHeight: 1.55}}>
            A안 — 중앙 정렬, 블루 도미넌트, 차분한 B2B 톤<br/>
            B안 — 좌우 분할, 옐로 액센트, 프로덕트 강조
          </div>
        </TweakSection>
      </TweaksPanel>
    </>
  );
};

ReactDOM.createRoot(document.getElementById('root')).render(<App />);
