/* global React, BsaLogo, I, SERVICES, INDUSTRIES, HUBS, OFFICES, STRINGS */
const { useState: useStateNav, useEffect: useEffectNav, useRef: useRefNav } = React;
// ─── Top utility strip ────────────────────────────────────────────────
function TopStrip({ locale, setLocale, onEnquire, t }) {
return (
Formerly Ahmad Bin Hezeem & Associates
·
);
}
function LanguageSwitch({ locale, setLocale }) {
const langs = [
{ code: "en", label: "EN" },
{ code: "ar", label: "العربية" },
{ code: "ru", label: "RU" },
{ code: "zh", label: "中文" },
];
return (
{langs.map((l, i) => (
{i > 0 && /}
))}
);
}
// ─── Mega Menu Expertise ──────────────────────────────────────────────
function ExpertiseMega({ onClose, navigate, t }) {
return (
Services · 17 practice areas
);
}
// ─── Offices dropdown ─────────────────────────────────────────────────
function OfficesDropdown({ onClose, navigate }) {
return (
);
}
// ─── Main Nav ─────────────────────────────────────────────────────────
function Nav({ page, navigate, onEnquire, locale, setLocale, t }) {
const [hover, setHover] = useStateNav(null); // 'expertise' | 'offices' | null
const [scrolled, setScrolled] = useStateNav(false);
useEffectNav(() => {
const onScroll = () => setScrolled(window.scrollY > 12);
window.addEventListener("scroll", onScroll, { passive: true });
onScroll();
return () => window.removeEventListener("scroll", onScroll);
}, []);
const linkStyle = (k) => ({
padding: "8px 2px",
fontFamily: "var(--mono)",
fontSize: 12,
letterSpacing: "0.12em",
textTransform: "uppercase",
color: page === k ? "var(--accent)" : "var(--ink)",
borderBottom: page === k ? "1px solid var(--accent)" : "1px solid transparent",
background: "transparent",
border: 0,
cursor: "pointer",
});
const items = [
{ k: "expertise", label: t.nav.expertise, hasMega: true },
{ k: "people", label: t.nav.people },
{ k: "insights", label: t.nav.insights },
{ k: "offices", label: t.nav.offices, hasMega: true },
{ k: "about", label: t.nav.about },
];
return (
);
}
// ─── Footer ───────────────────────────────────────────────────────────
function Footer({ navigate, onEnquire, t }) {
return (
);
}
Object.assign(window, { Nav, Footer, TopStrip });