/* Shared components: Nav, Footer, Modal, helpers */ const { useState, useEffect, useRef, useMemo } = React; // ===== Icons (minimal inline SVGs) ===== const Arrow = ({ size = 14 }) => ( ); const ArrowSmall = () => ( ); const LinkedinIcon = () => ( ); const PhoneIcon = () => ( ); const ChambersWordmark = () => ( Chambers ); // ===== Logo (clean SVG, original — not the existing PNG mark) ===== const Logo = ({ light = false, compact = false }) => { const fg = light ? '#FBFAF5' : '#16161A'; const accent = '#F2C744'; if (compact) { return ( Horizons&Co ); } return ( Horizons&Co ); }; // ===== Locale toggle ===== const LocaleToggle = ({ locale, setLocale }) => (
{['EN', 'AR', 'RU', 'ZH'].map(L => ( ))}
); // ===== Nav ===== const Nav = ({ page, setPage, locale, setLocale, openConsult, t }) => { const links = [ ['home', t('navHome', 'Home')], ['practices', t('navPractices', 'Practices')], ['experts', t('navExperts', 'Experts')], ['insights', t('navInsights', 'Insights')], ['about', t('navAbout', 'About')], ['contact', t('navContact', 'Contact')], ]; return ( ); }; // ===== Footer ===== const Footer = ({ setPage }) => ( ); // ===== Consultation Modal ===== const ConsultModal = ({ open, onClose, prefill }) => { const [step, setStep] = useState('form'); const [data, setData] = useState({ name: '', email: '', phone: '', practice: prefill?.practice || '', message: '' }); useEffect(() => { if (open) { setStep('form'); setData(d => ({ ...d, practice: prefill?.practice || d.practice })); } }, [open, prefill]); useEffect(() => { const onKey = e => { if (e.key === 'Escape' && open) onClose(); }; window.addEventListener('keydown', onKey); return () => window.removeEventListener('keydown', onKey); }, [open, onClose]); const submit = e => { e.preventDefault(); setStep('success'); }; return (
e.stopPropagation()}> {step === 'form' ? <>
setData({...data, name: e.target.value})} placeholder="Your full legal name"/>
setData({...data, email: e.target.value})} placeholder="you@company.ae"/>
setData({...data, phone: e.target.value})} placeholder="+971 …"/>