/* global React, Icon, Header, Footer, SectionHead, BookingModal, ImageryNote, saveQuote, loadQuote */
const { useState: useHS } = React;
const HNS = window.BlackLuxuryLimoDesignSystem_3e0f4d;
function HomeBookingWidget({ onQuote }) {
const { Input, Button } = HNS;
const [tab, setTab] = useHS("Airport");
const [pickup, setPickup] = useHS("YYZ — Pearson Intl (Terminal 1)");
const [dropoff, setDropoff] = useHS("Downtown Toronto, ON");
const [date, setDate] = useHS("Jun 24, 2026");
const [time, setTime] = useHS("6:45 AM");
const tabs = ["Airport", "Hourly", "Point to Point"];
const submit = () => {
saveQuote({ service: tab, pickup, dropoff, date, time });
onQuote();
};
return (
{tabs.map((t) => (
))}
);
}
function HomeHero({ onQuote }) {
const { Badge, RatingStars } = HNS;
return (
Toronto · GTA · Airport & Corporate
Arrive in black.
Travel in quiet luxury.
Premium 24/7 black car & airport limo service. Professional chauffeurs, immaculate SUVs and sedans, flight-tracked pickups — on time, every time.
}>24/7 Dispatch
}>Licensed & Insured
}>Flight Tracked
);
}
function HomeServices() {
const { ServiceCard } = HNS;
const items = [
{ icon: "plane-takeoff", title: "Airport Transfers", description: "Flat-rate rides to YYZ Pearson & Billy Bishop. Flight-tracked with complimentary wait time and meet-and-greet at arrivals.", price: "$75", featured: true, href: "airport-limo.html" },
{ icon: "briefcase", title: "Corporate Chauffeur", description: "Executive black-car accounts with priority dispatch, vetted chauffeurs and consolidated monthly billing.", price: "$95", href: "services.html" },
{ icon: "gem", title: "Weddings & Events", description: "Red-carpet arrivals in pristine SUVs and stretch limousines. Decor, champagne service and a dedicated coordinator.", price: "$140", href: "services.html" },
{ icon: "clock", title: "Hourly Charter", description: "Keep a chauffeur on call for meetings, tours or a night out. As-directed service, billed by the hour.", price: "$90", href: "services.html" },
{ icon: "route", title: "Long-Distance", description: "Door-to-door comfort to Niagara, Muskoka, Ottawa, Montreal and cross-border. Fixed quotes, no surprises.", price: "$1.95/km", href: "services.html" },
{ icon: "crown", title: "Private Black Car", description: "Your own discreet chauffeur for VIP and private clients. NDA available, always punctual, always polished.", price: "Custom", href: "services.html" },
];
return (
);
}
function HomeFleet() {
const { Badge, Button } = HNS;
const classes = [
{ name: "Executive Sedan", ex: "Cadillac · Mercedes E-Class", pax: 3, bags: 2, icon: "car-front", img: "assets/img/sedan-luggage.jpg" },
{ name: "Luxury SUV", ex: "Cadillac Escalade · Suburban", pax: 6, bags: 6, icon: "car", img: "assets/img/luxury-suv.jpg" },
{ name: "Premium Van", ex: "Mercedes Sprinter", pax: 11, bags: 12, icon: "bus", img: "assets/img/city-dusk.jpg" },
{ name: "Stretch Limousine", ex: "Lincoln · Chrysler 300", pax: 8, bags: 4, icon: "gem", img: "assets/img/night-city.jpg" },
];
const [sel, setSel] = useHS(1);
return (
{sel >= 2 &&
Placeholder image}
{classes[sel].name}
{classes[sel].ex}
{classes.map((c, i) => (
))}
);
}
function HomeTrust() {
const { Card, RatingStars } = HNS;
const stats = [
{ n: "24/7", l: "Dispatch & support", icon: "clock" },
{ n: "50k+", l: "Rides completed", icon: "route" },
{ n: "4.9★", l: "Average rating", icon: "star" },
{ n: "99.2%", l: "On-time pickups", icon: "badge-check" },
];
const reviews = [
{ q: "Driver was waiting at arrivals with a sign, tracked my delayed flight, and had water ready. This is how airport travel should feel.", a: "Daniel R.", r: "YYZ → Downtown" },
{ q: "We book Black Luxury for every executive visit. Spotless Escalades, discreet chauffeurs, billing handled monthly. Flawless.", a: "Priya M.", r: "Corporate account" },
{ q: "They made our wedding exit unforgettable — champagne, red carpet, and a chauffeur who thought of everything.", a: "The Okafors", r: "Wedding · Casa Loma" },
];
return (
{reviews.map((rv, i) => (
“{rv.q}”
))}
);
}
function HomePage() {
const [modal, setModal] = useHS(false);
return (
setModal(true)} />
setModal(false)} quote={loadQuote()} />
);
}
window.HomePage = HomePage;