// Eva Jewellers — main app const { useState, useEffect } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "accent": "gold", "displayFont": "Cormorant Garamond", "density": "comfortable", "showTopBar": true }/*EDITMODE-END*/; const ACCENTS = { gold: { gold: "#C9A24B", goldDeep: "#A8842F", goldSoft: "#E9D6A8" }, rose: { gold: "#C9968A", goldDeep: "#A87268", goldSoft: "#EBCCC4" }, platinum:{ gold: "#9AA3AB", goldDeep: "#5F676E", goldSoft: "#D9D9DC" }, emerald: { gold: "#5C8F76", goldDeep: "#3F6952", goldSoft: "#BFD6CB" }, }; function App() { const initialRoute = window.__BYTESGLUE_SHOWCASE_ROUTE || "home"; const [route, setRoute] = useState(initialRoute); const [collSlug, setCollSlug] = useState(null); const [consultOpen, setConsultOpen] = useState(false); const [t, setTweak] = window.useTweaks ? window.useTweaks(TWEAK_DEFAULTS) : [TWEAK_DEFAULTS, () => {}]; // Apply accent + font + density useEffect(() => { const accent = ACCENTS[t.accent] || ACCENTS.gold; document.documentElement.style.setProperty("--gold", accent.gold); document.documentElement.style.setProperty("--gold-deep", accent.goldDeep); document.documentElement.style.setProperty("--gold-soft", accent.goldSoft); document.documentElement.style.setProperty("--display-font", "'" + t.displayFont + "'"); document.documentElement.dataset.density = t.density; document.documentElement.dataset.topbar = t.showTopBar ? "on" : "off"; }, [t.accent, t.displayFont, t.density, t.showTopBar]); const go = (r, slug = null) => { setRoute(r); setCollSlug(slug); window.scrollTo({ top: 0, behavior: "instant" }); }; const openConsult = () => setConsultOpen(true); let Page = null; if (route === "home") Page = ; else if (route === "collections") Page = ; else if (route === "bespoke") Page = ; else if (route === "education") Page = ; else if (route === "about") Page = ; else if (route === "testimonials") Page = ; else if (route === "visit") Page = ; return (
{Page}
setConsultOpen(false)} /> {window.TweaksPanel && ( setTweak("accent", v)} /> setTweak("displayFont", v)} /> setTweak("density", v)} /> setTweak("showTopBar", v)} /> go("home")} /> go("collections")} secondary /> go("bespoke")} secondary /> go("education")} secondary /> go("about")} secondary /> go("testimonials")} secondary /> go("visit")} secondary /> )}
); } const root = ReactDOM.createRoot(document.getElementById("root")); root.render();