/* Alpago — main app */ const { useState: useStateA, useEffect: useEffectA } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#9A7A4E", "heroStyle": "cinematic", "showFlag": true }/*EDITMODE-END*/; function App() { const [route, setRoute] = useStateA({ name: "home" }); const [lang, setLang] = useStateA("en"); const [modalOpen, setModalOpen] = useStateA(false); const [modalProject, setModalProject] = useStateA(null); const [tweaks, setTweakState] = useTweaks(TWEAK_DEFAULTS); // Apply lang dir + persist useEffectA(() => { document.documentElement.dir = lang === "ar" ? "rtl" : "ltr"; document.documentElement.lang = lang; }, [lang]); // Apply accent CSS var useEffectA(() => { document.documentElement.style.setProperty("--accent", tweaks.accent); }, [tweaks.accent]); // Scroll-to-top on route change useEffectA(() => { if (route.name !== "project") window.scrollTo({ top: 0 }); }, [route.name, route.slug]); const openCta = (slug) => { setModalProject(slug || null); setModalOpen(true); }; const openProject = (slug) => setRoute({ name: "project", slug }); const transparentNav = route.name === "home" || route.name === "project"; let screen; if (route.name === "home") { screen = openCta()} openProject={openProject} />; } else if (route.name === "projects") { screen = ; } else if (route.name === "project") { screen = openCta(route.slug)} setRoute={setRoute} />; } else if (route.name === "about") { screen = openCta()} />; } else if (route.name === "contact") { screen = openCta()} />; } const stickyShow = route.name === "project"; const stickyProj = stickyShow ? window.AlpagoData.projects.find(p => p.slug === route.slug) : null; return (
{tweaks.showFlag && }
); } ReactDOM.createRoot(document.getElementById("root")).render();