/* global React, ReactDOM, Nav, Footer, HomePage, ConceptPage, CollectionPage, ProductPage, ProjectPage, AppointmentsPage, ContactPage, useHashRoute, TweaksPanel, TweakSection, TweakRadio, TweakToggle, TweakColor, useTweaks */ const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "primary": "#F06030", "heroLayout": "split", "showFlags": true, "density": "editorial" }/*EDITMODE-END*/; function App() { const path = useHashRoute(); const [lang, setLang] = React.useState('EN'); const products = window.TCP_PRODUCTS; const copy = window.TCP_COPY; const [tweaks, setTweak] = useTweaks(TWEAK_DEFAULTS); // Apply tweaks live via CSS vars React.useEffect(() => { document.documentElement.style.setProperty('--primary', tweaks.primary); document.documentElement.style.setProperty('--focus', tweaks.primary); document.documentElement.dataset.density = tweaks.density; document.documentElement.dataset.showFlags = tweaks.showFlags ? '1' : '0'; }, [tweaks]); let page; if (path === '/' || path === '') { page = ; } else if (path === '/concept') { page = ; } else if (path === '/collection') { page = ; } else if (path.startsWith('/product/')) { const handle = path.replace('/product/', ''); const product = products.find(p => p.handle === handle); page = ; } else if (path === '/the-project') { page = ; } else if (path === '/appointments') { page = ; } else if (path === '/contact') { page = ; } else { page = (

Not found.

Return home →

); } return (
); } ReactDOM.createRoot(document.getElementById('root')).render();