// Main app for Industrolearn homepage const DEFAULT_TWEAKS = /*EDITMODE-BEGIN*/{ "italTreatment": "saffron", "routerLayout": "cards", "manifestoLayout": "pullquote", "programsLayout": "hero", "studioLayout": "grid", "founderLayout": "portrait" }/*EDITMODE-END*/; function App() { const [tweak, setTweak] = useTweaks(DEFAULT_TWEAKS); // Scroll to URL hash once the React tree has mounted (anchors don't exist // at initial paint, so the browser's native hash-jump misses). React.useEffect(() => { const id = window.location.hash.slice(1); if (!id) return; requestAnimationFrame(() => { const el = document.getElementById(id); if (el) el.scrollIntoView({ behavior: "smooth", block: "start" }); }); }, []); // Reveal-on-scroll React.useEffect(() => { const els = document.querySelectorAll(".reveal:not(.is-in)"); const io = new IntersectionObserver((entries) => { entries.forEach((e) => { if (e.isIntersecting) { e.target.classList.add("is-in"); io.unobserve(e.target); } }); }, { threshold: 0.15 }); els.forEach((el) => io.observe(el)); return () => io.disconnect(); }, [tweak]); return ( <>