/* ========================================================= M-FLOW — App + Tweaks ========================================================= */ const { useState: useStateApp, useEffect: useEffectApp, useRef: useRefApp } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "palette": "noir", "density": "normal", "heroVariant": "default", "stoneOnManifesto": true, "stoneOnContact": true, "serifAccent": true, "showWaFloat": true }/*EDITMODE-END*/; const CONTACT = { email: "go@mflowia.cloud", phone: "+55 11 0000-0000", }; function App() { const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS); const contactRef = useRefApp(null); const servicesRef = useRefApp(null); // apply palette + density to root useEffectApp(() => { document.documentElement.dataset.palette = tweaks.palette; document.documentElement.dataset.density = tweaks.density; document.documentElement.dataset.serifAccent = tweaks.serifAccent ? "true" : "false"; // Toggle stone backgrounds via CSS variable document.documentElement.style.setProperty("--manifesto-stone-opacity", tweaks.stoneOnManifesto ? "1" : "0"); document.documentElement.style.setProperty("--contact-stone-opacity", tweaks.stoneOnContact ? "0.32" : "0"); }, [tweaks]); const scrollTo = (id) => () => { const el = document.getElementById(id); if (el) el.scrollIntoView({ behavior: "smooth", block: "start" }); }; return ( <>
{tweaks.showWaFloat && } setTweak("palette", v)} options={[ { value: "noir", label: "Noir" }, { value: "graphite", label: "Graphite" }, ]} /> setTweak("palette", v)} options={[ { value: "parchment", label: "Parchment" }, { value: "ink", label: "Ink" }, ]} /> setTweak("heroVariant", v)} options={[ { value: "default", label: "Tipográfico" }, { value: "split", label: "Com pedra" }, ]} /> setTweak("stoneOnManifesto", v)} /> setTweak("stoneOnContact", v)} /> setTweak("density", v)} options={[ { value: "compact", label: "Compacto" }, { value: "normal", label: "Normal" }, { value: "spacious", label: "Amplo" }, ]} /> setTweak("showWaFloat", v)} /> ); } ReactDOM.createRoot(document.getElementById("root")).render();