// home.jsx — Home page function Nav({ t, locale, onLocale, onNav, transparent, onBookOpen }) { return (
onNav("home")}> Rent A Car · Dubai
{t.cta.whatsapp} {t.cta.book}
); } function Hero({ t, heroMode, featured, onOpenCar, onBookOpen }) { const [scroll, setScroll] = React.useState(0); React.useEffect(() => { if (heroMode !== "parallax") return; const onScroll = () => setScroll(window.scrollY); window.addEventListener("scroll", onScroll, { passive: true }); return () => window.removeEventListener("scroll", onScroll); }, [heroMode]); const parY = heroMode === "parallax" ? Math.min(scroll * 0.25, 220) : 0; const parZ = heroMode === "parallax" ? 1 + Math.min(scroll * 0.0003, 0.08) : 1; return (
{t.hero.kicker}
Dubai · UAE

{t.hero.title[0]} {t.hero.title[1]} {t.hero.title[2]}

{t.hero.sub}

} onClick={onBookOpen}>{t.cta.book} {t.cta.whatsapp}
{/* Featured release strip */}
onOpenCar(featured.id)}>
{t.hero.featured_label}
{featured.make} {featured.model}
Engine{featured.engine}
Power{featured.power}
0–100{featured.accel}
{t.fleet.from}{featured.daily}/{t.fleet.day}
{t.cta.view}
); } function TrustStrip({ t }) { return (
{t.trust.map((it, i) => (
{it.k}

{it.label}

{it.body}

))}
); } function FleetSection({ t, locale, onOpenCar }) { const [filter, setFilter] = React.useState("all"); const filtered = window.FLEET.filter(c => { if (filter === "all") return true; if (filter === "long") return true; // demo: all available for long-term if (filter === "convertible") return /convert/i.test(c.body); return c.bodyKey === filter; }); return (
{t.fleet.sub}

{t.fleet.title.split(" ")[0]} {t.fleet.title.split(" ").slice(1).join(" ")}

{t.fleet.filters.map((f, i) => { const key = t.fleet.filterKeys[i]; return ( ); })}
{filtered.map((c, i) => ( onOpenCar(c.id)} idx={i} /> ))}
); } function CarCard({ car, t, onOpen, idx }) { return (
{`${car.make}
{!car.available && (
{t.fleet.sold_out}
)} {car.featured && car.available && idx === 0 && (
Featured
)}
{car.make} {car.model}
{car.body} · {car.power} · {car.accel} 0–100
{t.fleet.from} {car.daily} / {t.fleet.day}
); } function PromoBlock({ t, showPromo }) { if (!showPromo) return null; return (
{t.promo.kicker}

{t.promo.title}

{t.promo.sub}

WindowFri 26 Jun – Sun 28 Jun
DeliveryAED 0 in Dubai
DetailComplimentary
); } function ServicesSection({ t }) { return (
04 services

{t.services.title.split(" ").slice(0, -1).join(" ")}{" "} {t.services.title.split(" ").slice(-1)[0]}

{t.services.items.map((s, i) => (
0{i + 1}

{s.t}

{s.b}

))}
); } function Footer({ t, locale }) { return ( ); } function MobileCta({ t, onBookOpen }) { return (
{t.cta.whatsapp}
); } Object.assign(window, { Nav, Hero, TrustStrip, FleetSection, CarCard, PromoBlock, ServicesSection, Footer, MobileCta });