// app.jsx — TecnoWolf root app
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"palette": "cyan",
"theme": "dark",
"lang": "es",
"waNumber": "573000000000",
"waMessage": "Hola TecnoWolf, quiero cotizar un proyecto."
}/*EDITMODE-END*/;
function App() {
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
// Apply theme + palette to
useEffect(() => {
document.documentElement.setAttribute('data-theme', t.theme);
document.documentElement.setAttribute('data-palette', t.palette);
}, [t.theme, t.palette]);
// Reveal-on-scroll
useScrollReveal();
const lang = t.lang;
const tx = window.I18N[lang] || window.I18N.es;
const waUrl = `https://wa.me/${t.waNumber}?text=${encodeURIComponent(t.waMessage)}`;
// Last updated — auto-stamped at load. Format: DD/MM/YYYY
const today = new Date();
const dd = String(today.getDate()).padStart(2,'0');
const mm = String(today.getMonth()+1).padStart(2,'0');
const yyyy = today.getFullYear();
const updated = `${dd}/${mm}/${yyyy}`;
const setLang = (v) => setTweak('lang', v);
const setTheme = (v) => setTweak('theme', v);
return (
<>
setTweak('palette', v)}
/>
setTweak('theme', v)}
/>
setTweak('lang', v)}
/>
setTweak('waNumber', v)}
/>
setTweak('waMessage', v)}
/>
>
);
}
ReactDOM.createRoot(document.getElementById('root')).render();