/* ===== Growing Now — app root + tweaks ===== */
(function () {
const { useState, useEffect } = React;
const { useTweaks, TweaksPanel, TweakSection, TweakRadio } = window;
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"cards": "retrato",
"bg": "blobs",
"font": "redondeada"
}/*EDITMODE-END*/;
const FONTS = {
redondeada: { d: "'Fredoka'", b: "'Nunito'" },
suave: { d: "'Baloo 2'", b: "'Mulish'" },
geometrica: { d: "'Quicksand'", b: "'Karla'" },
};
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
const [lang, setLangState] = useState(window.I18N.detectLang());
const setLang = (l) => { setLangState(l); window.I18N.setLang(l); };
const L = window.I18N.STR[lang];
const [agent, setAgent] = useState(null);
const [chatAgent, setChatAgent] = useState(null);
const [contactOpen, setContactOpen] = useState(false);
const [chatSignal, setChatSignal] = useState(0);
const openChat = () => setChatSignal(s => s + 1);
const openAgentChat = (a) => { setAgent(null); setChatAgent(a); };
useEffect(() => {
const f = FONTS[t.font] || FONTS.redondeada;
document.documentElement.style.setProperty('--font-display', f.d + ", system-ui, sans-serif");
document.documentElement.style.setProperty('--font-body', f.b + ", system-ui, sans-serif");
}, [t.font]);
useEffect(() => { document.documentElement.lang = lang; }, [lang]);
return (
<>
setContactOpen(true)} onChat={openChat} />
{agent && setAgent(null)} onChat={openChat} onAgentChat={openAgentChat} />}
{chatAgent && setChatAgent(null)} />}
{contactOpen && setContactOpen(false)} onChat={openChat} />}
setTweak('cards', v)} />
setTweak('bg', v)} />
setTweak('font', v)} />
>
);
}
window.GNApp = App;
})();