// Main App: hash routing, page switcher, modal state
const App = () => {
const initial = (window.location.hash || "#home").slice(1) || "home";
const [page, setPageRaw] = React.useState(NAV.find(n => n.key === initial) ? initial : "home");
const [openP, setOpenP] = React.useState(null);
const setPage = (k) => {
setPageRaw(k);
if (window.location.hash !== "#" + k) {
history.replaceState(null, "", "#" + k);
}
};
React.useEffect(() => {
const on = () => {
const k = (window.location.hash || "#home").slice(1) || "home";
if (NAV.find(n => n.key === k)) setPageRaw(k);
};
window.addEventListener("hashchange", on);
return () => window.removeEventListener("hashchange", on);
}, []);
const props = { setPage, openProduct: setOpenP };
let Page;
switch (page) {
case "designer": Page = ; break;
case "bridal": Page = ; break;
case "couture": Page = ; break;
case "shop": Page = ; break;
case "jewellery": Page = ; break;
case "appointments": Page = ; break;
case "visit": Page = ; break;
case "contact": Page = ; break;
default: Page = ;
}
return (
{Page}
setOpenP(null)} setPage={setPage} />
);
};
ReactDOM.createRoot(document.getElementById("root")).render();