// Zen Interiors — Root app + router const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "#8a7558", "paper": "#faf7f2", "displayFont": "Cormorant Garamond", "showAwardBadges": true, "heroVariant": "rotating" }/*EDITMODE-END*/; function App() { // Hash router ------------------------------------------------------------- const [route, setRoute] = useState(() => window.location.hash.replace(/^#/, '') || '/'); const [enquiryOpen, setEnquiryOpen] = useState(false); const [locale, setLocale] = useState('EN'); const [t, setTweak] = useTweaks(TWEAK_DEFAULTS); // Apply tweaks live useEffect(() => { const r = document.documentElement; r.style.setProperty('--clay', t.accent); r.style.setProperty('--clay-deep', shade(t.accent, -10)); r.style.setProperty('--paper', t.paper); r.style.setProperty('--linen-soft', mix(t.paper, '#ece5d6', 0.5)); r.style.setProperty('--font-display', `'${t.displayFont}', serif`); }, [t.accent, t.paper, t.displayFont]); // Hash subscription useEffect(() => { const onHash = () => { const r = window.location.hash.replace(/^#/, '') || '/'; setRoute(r); window.scrollTo({ top: 0, behavior: 'instant' }); }; window.addEventListener('hashchange', onHash); return () => window.removeEventListener('hashchange', onHash); }, []); const navigate = useCallback((to) => { window.location.hash = to; }, []); // Route resolution -------------------------------------------------------- let page; if (route === '/' || route === '') { page = setEnquiryOpen(true)} />; } else if (route.startsWith('/projects/')) { const slug = route.replace('/projects/', ''); page = setEnquiryOpen(true)} />; } else if (route === '/projects') { page = ; } else if (route.startsWith('/sectors/')) { const slug = route.replace('/sectors/', ''); page = ; } else if (route === '/sectors') { page = ; } else if (route === '/services') { page = setEnquiryOpen(true)} />; } else if (route === '/about') { page = setEnquiryOpen(true)} />; } else if (route === '/awards') { page = ; } else if (route === '/contact') { page = setEnquiryOpen(true)} />; } else if (route === '/journal') { page = ; } else { page = (
404

Page not found.

); } return ( <>