/* ============================================================ PAGES — Home, Buy/Rent listings, Area microsite, Agent microsite, Contact ============================================================ */ /* ---------- Listing Card (shared) ---------- */ function ListingCard({ L, t, onClick }) { return (
{L.tag}
{L.area} · {L.type}

{L.title}

{L.beds} bd {L.baths} ba {L.sizeSqft ? L.sizeSqft + " sqft" : "On request"}
{L.priceLabel} View detail
); } /* ============================================================ HOME / SHELL ============================================================ */ function HomePage({ t, dir, onPage, openLead }) { return ( {/* HERO ====================================== */}
RERA ORN 11917 · Verified
{t.hero.eyebrow}EST 2012 {t.hero.forbes}

{t.hero.h1Pre} {t.hero.h1Em}

{t.hero.sub}

{t.hero.wa}
{t.hero.trust.map((tt, i) => ( {tt.v}{tt.k} ))}
{/* SEARCH BAR ====================================== */}
{t.search.fixture}
{/* TRUST STRIP ====================================== */}
{t.trustStrip.eyebrow}
{t.trustStrip.cells.map((c, i) => (
{c.k}

{c.v}

{c.sub}
))}
{/* AREAS ====================================== */}
{t.areas.eyebrow}

{t.areas.h1} {t.areas.h1Em}

{t.areas.lede}

{AREAS.map((a) => (
onPage("area")}>
{a.meta}
Microsite

{a.name}

))}
{/* FEATURED LISTINGS ====================================== */}
{t.listings.eyebrow}

{t.listings.h1} {t.listings.h1Em}

{t.listings.lede}

{FIXTURE_LISTINGS.slice(0,3).map(L => openLead("viewing", L.title)}/>)}
{t.search.fixture}
{/* WHY DRIVEN (dark editorial) ====================================== */}
{t.why.eyebrow}

{t.why.h1} {t.why.h1Em}

{t.why.lede}

{t.why.pillars.map((p, i) => (
{p.n}

{p.h}

{p.p}

))}
{/* AGENTS ====================================== */}
{t.agentsSec.eyebrow}

{t.agentsSec.h1} {t.agentsSec.h1Em}

{t.agentsSec.lede}

{AGENTS.slice(0,8).map(a => (
onPage("agent")}>
{a.langs.map(l => {l})}
{a.name}
{a.role}
{a.listings} live {a.sales}
))}
{/* FINAL CTA BAND ====================================== */}
{t.finalCta.eyebrow}

{t.finalCta.h1} {t.finalCta.h1Em} {t.finalCta.h1Suf}

{t.finalCta.sub}

WhatsApp · wa.me/971800776655 +971 4 245 4800
); } /* ----- Listing search bar ----- */ function SearchBar({ t }) { const [tab, setTab] = React.useState("buy"); return (
e.preventDefault()}>
); } /* ============================================================ AREA MICROSITE — Downtown Dubai ============================================================ */ function AreaPage({ t, onPage, openLead }) { const d = t.downtown; return (
onPage("home")}>Home / onPage("home")}>{d.crumb} / {d.title1} {d.titleEm}
Area microsite · 01 / 06

{d.title1} {d.titleEm}

WhatsApp the Downtown desk
{d.cap.label} {d.cap.text}
{/* Area stats */}
{d.stats.map((s, i) => (
{s.num} {s.lbl} {s.src}
))}
{/* Editorial */}
{d.editorialH}
{d.editorial.map((p, i) =>

)}

{/* Gallery */}
{/* Why invest */}
Investor brief

{d.investH} {d.investEm}

A working brief — six investor questions the Driven Downtown desk most often answers. Off-the-record figures available on request.

{d.invest.map((c, i) => (
{c.n}

{c.h}

{c.p}

))}
{/* Featured listings in this area */}
On the market

{d.featuredH} {d.featuredEm}

Live from the Property Finder feed — refreshed every 30 minutes. Click into any card for the live detail.

{FIXTURE_LISTINGS.filter(L => L.area === "Downtown Dubai").slice(0,3).map(L => ( openLead("viewing", L.title)} /> ))}
{t.search.fixture}
{/* Map block */}
On the map

Downtown at a glance.

Five-minute walking radius from Burj Park. The coordinates below are placeholder — production renders the live MapTiler embed.

{/* roads */} {/* park */} {/* pins */} {[[1050,510,"Burj Khalifa"],[1320,460,"Dubai Mall"],[860,560,"Opera"],[1180,640,"Old Town"],[1500,420,"Boulevard"],[760,440,"Burj Park"]].map(([x,y,lbl], i) => ( {lbl} ))} DOWNTOWN DUBAI · APPROX. WALKING RADIUS · PLACEHOLDER MAP
{/* CTA */}
Downtown desk

The broker who lists Downtown lives in Downtown.

One name, one mobile number, one WhatsApp thread. The Driven Downtown team is run out of our Emaar Square HQ — five minutes from every listing on this page.

); } /* ============================================================ AGENT MICROSITE — Mohammed Abdulrahman ============================================================ */ function AgentPage({ t, onPage, openLead }) { const ag = AGENTS.find(a => a.slug === "mohammed-a"); const a = t.agent; return (
onPage("home")} style={{ color: "var(--accent)" }}>Home / onPage("home")} style={{ color: "var(--accent)" }}>{a.crumb} / {ag.name}
{ag.name}/ RERA-certified
{a.role}

{ag.name}

{a.bio}

{a.facts.map((f, i) => (
{f.k}
{f.v}
))}
{a.whats}
{ag.listings} live listings {ag.sales} closed (lifetime) Tap to view profile in CRM
{/* Live listings (filtered to area) */}
Live

{a.listingsH} {a.listingsEm}

Pulled from Mohammed's portfolio in the Driven CRM, refreshed every 30 minutes. Cards link straight to the live detail page.

{FIXTURE_LISTINGS.slice(0,3).map(L => openLead("viewing", L.title + " · with " + ag.name)} />)}
{t.search.fixture}
{/* Other agents strip */}
Other brokers

Or pick another broker.

{AGENTS.filter(x => x.slug !== "mohammed-a").slice(0,8).map(x => (
onPage("agent")}>
{x.langs.map(l => {l})}
{x.name}
{x.role}
{x.listings} live{x.sales}
))}
{/* CTA */}
Start the conversation

Talk to {ag.name.split(" ")[0]} directly.

No call-centre — your enquiry routes straight to the broker.

WhatsApp the broker
); } /* ============================================================ CONTACT ============================================================ */ function ContactPage({ t, onPage, openLead }) { const c = t.contact; return (
{c.eyebrow}

{c.title} {c.titleEm}

{c.lede}

{c.channels.map((ch, i) => (
{ch.lbl} {ch.val} {ch.sub}
))}
{c.officesH}

{c.officesL}

{OFFICES.map((o, i) => (
{o.hq ?
Headquarters · UAE
: null}
{o.name}
{o.addr.split("\n").map((l,j) =>
{l}
)}
))}
Open a thread

What would you like to do?

Pick a channel and a broker replies — within one business day, faster on WhatsApp.

{[ { k: "viewing", l: "Book a viewing" }, { k: "valuation", l: "Request a free valuation" }, { k: "listProp", l: "List your property" }, { k: "talk", l: "Talk to a broker" }, { k: "brochure", l: "Download the brochure" }, ].map(b => ( ))} Or open WhatsApp — wa.me/971800776655
{/* Banner */}
The team

650+ professionals. One conversation.

); } /* ============================================================ BUY / RENT — simple listings index (placeholder) ============================================================ */ function ListingsIndex({ t, mode, openLead }) { const title = mode === "rent" ? "Rentals" : "For sale"; return (
{title}

Selected {mode==="rent" ? "rentals." : "residences."}

A live cross-section, refreshed from the Property Finder feed. All cards link to the full detail page.

{FIXTURE_LISTINGS.map(L => openLead("viewing", L.title)} />)}
{t.search.fixture}
); } Object.assign(window, { HomePage, AreaPage, AgentPage, ContactPage, ListingsIndex, ListingCard });