/* ============================================================ SHARED COMPONENTS — Nav, Footer, WhatsAppFab, LeadModal, Logo ============================================================ */ const WA_URL = "https://wa.me/971800776655?text=Hi%20Driven%20Properties%2C%20I%27d%20like%20to%20speak%20with%20a%20broker"; const TEL = "tel:+97142454800"; /* ----- Logo (redrawn from supplied svg — placeholder quality) ----- */ function Logo({ light, withForbes }) { const stroke = light ? "#FBF9F4" : "#0E1216"; return ( window.__nav("home")}> {/* mark — frame with vertical bars */} {/* wordmark */} DRIVEN {withForbes ? ( Exclusive UAE member
Forbes Global Properties
) : null}
); } /* ----- Nav ----- */ function Nav({ page, t, lang, setLang, onPage, dark, openLead }) { return (
); } /* ----- Footer ----- */ function Footer({ t, onPage }) { return ( ); } /* ----- WhatsApp FAB ----- */ function WhatsAppFab() { return ( WhatsApp a broker ); } /* ============================================================ LEAD MODAL — viewing / valuation / list / talk / brochure ============================================================ */ function LeadModal({ open, kind, ctx, t, onClose }) { const [active, setActive] = React.useState(kind || "viewing"); const [sent, setSent] = React.useState(false); React.useEffect(() => { if (open) { setActive(kind || "viewing"); setSent(false); } }, [open, kind]); React.useEffect(() => { function key(e) { if (e.key === "Escape") onClose(); } document.addEventListener("keydown", key); return () => document.removeEventListener("keydown", key); }, [onClose]); function submit(e) { e.preventDefault(); setTimeout(() => setSent(true), 250); } const m = t.leadModal; const title = m.titles[active] || m.titles.viewing; const isList = active === "listProp" || active === "valuation"; return (
e.target.classList.contains("modal-bd") && onClose()}>
DRIVEN · {t.nav.contact}

{title}

{m.strap}

{ctx ? (

Re: {ctx}

) : null}
{m.trust.map((s, i) => {s})}
{sent ? (

{m.successH}

{m.successP}

{m.f.wa}
) : (
{m.tabs.map((tab) => ( ))}
{active === "viewing" ? (
) : null} {isList ? (
) : null}
OR
{m.f.wa}
)}
); } Object.assign(window, { Nav, Footer, WhatsAppFab, LeadModal, Logo, WA_URL, TEL });