// Main app — router + language state
const { useState: useStateApp, useEffect: useEffectApp } = React;
function App() {
// route: { page, slug?, area? }
const [route, setRoute] = useStateApp({ page: "home" });
const [lang, setLang] = useStateApp("en");
const t = I18N[lang];
// Normalise navigate input
const navigate = (next) => {
if (typeof next === "string") setRoute({ page: next });
else setRoute(next);
window.scrollTo({ top: 0, behavior: "instant" });
};
useEffectApp(() => {
document.documentElement.lang = lang === "en" ? "en" : lang === "ar" ? "ar" : "ru";
document.documentElement.dir = I18N[lang].dir;
}, [lang]);
// Top-level layout switching by route.page
let body;
// Determine "active" page id for nav highlight
const navPage =
route.page === "practice-detail" ? "practice" :
route.page === "insight-detail" ? "insights" :
route.page;
switch (route.page) {
case "home":
body = ;
break;
case "practice":
body = ;
break;
case "practice-detail":
body = ;
break;
case "firm":
body = ;
break;
case "insights":
body = ;
break;
case "insight-detail":
body = ;
break;
case "contact":
body = ;
break;
default:
body = ;
}
return (
{body}
);
}
const root = ReactDOM.createRoot(document.getElementById("root"));
root.render();