/* global React, ReactDOM, Nav, HeroLight, HeroDark, StatsBar, Solutions, Platform, Cases, About, CTA, Footer, DemoModal, scrollToId, useTweaks, TweaksPanel, TweakSection, TweakRadio, TweakColor, TweakToggle */ const { useState: useStateA, useEffect: useEffectA } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "hero": "Light split", "accent": ["#2196E3", "#33B5F5", "#1B7CC2"], "animations": true }/*EDITMODE-END*/; // ── Scroll-to-top button ───────────────────────────────────────── function ScrollTop() { const [show, setShow] = useStateA(false); useEffectA(() => { const onScroll = () => setShow(window.scrollY > 600); onScroll(); window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, []); return ( ); } function App() { const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); const [demoSol, setDemoSol] = useStateA(null); // apply accent palette useEffectA(() => { const a = Array.isArray(t.accent) ? t.accent : ['#2196E3', '#33B5F5', '#1B7CC2']; const r = document.documentElement.style; r.setProperty('--accent', a[0]); r.setProperty('--accent-hover', a[1]); r.setProperty('--accent-press', a[2]); }, [t.accent]); // motion toggle useEffectA(() => { document.documentElement.classList.toggle('no-motion', !t.animations); }, [t.animations]); const openDemo = (id) => setDemoSol(id); const getStarted = () => scrollToId('solutions'); const Hero = t.hero === 'Dark command' ? HeroDark : HeroLight; return (