// 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}