/* global React, ReactDOM, useScrollReveal, useCursorBlob, Navbar, Footer, Home, Services, About, Vision, Team, Careers, Contact, FAQ, Partners, useTweaks, TweaksPanel, TweakSection, TweakRadio, TweakColor, TweakToggle */
const { useState: useStateApp, useEffect: useEffectApp } = React;
const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{
"theme": "modern",
"accent": "indigo",
"motion": true,
"cursor": false
}/*EDITMODE-END*/;
function App() {
const [route, setRoute] = useStateApp("home");
const [t, setTweak] = useTweaks(TWEAK_DEFAULTS);
// Apply theme/accent/motion to
useEffectApp(() => {
document.documentElement.dataset.theme = t.theme;
document.documentElement.dataset.accent = t.accent;
document.documentElement.dataset.motion = t.motion ? "on" : "off";
}, [t.theme, t.accent, t.motion]);
useScrollReveal();
useCursorBlob();
let Page;
switch (route) {
case "services": Page = Services; break;
case "vision": Page = Vision; break;
case "about": Page = About; break;
case "team": Page = Team; break;
case "careers": Page = Careers; break;
case "contact": Page = Contact; break;
case "faq": Page = FAQ; break;
case "partners": Page = Partners; break;
default: Page = Home;
}
return (
<>
setTweak("theme", v)}
/>
setTweak("accent", v)}
/>
setTweak("motion", v)}
/>
>
);
}
ReactDOM.createRoot(document.getElementById("root")).render();