// RMA Motors Dubai — interactive prototype
// Single-file React app. Mounts into #root.
const { useState, useEffect, useMemo, useRef, useCallback } = React;
// ─────────────────────────────────────────────────────────────────────────────
// Brand mark — RMA wordmark in SVG. Heavy italic forward-leaning grotesque.
// Modelled (originally drawn) after the brand's bold-italic mark seen in
// uploaded brand assets — NOT a trace, but evokes the same forward-thrust
// shape language used in the existing brand.
function RMAWordmark({ color = "currentColor", tagline = true, size = 1 }) {
return (
);
}
// Motorsport stripe — three stripes echoing the brand's racing livery in the
// PPF and finance banners. Used as a visual accent rule.
function Stripe({ vertical = false, w = 120, h = 6, opacity = 1 }) {
const isV = vertical;
return (
);
}
// Stock chip / spec divider
function SpecPill({ children, kind = "default" }) {
return {children};
}
// ─────────────────────────────────────────────────────────────────────────────
// Sticky CTA FABs — WhatsApp + Call
function FABs({ onEnquire }) {
return (
SAMPLE INVENTORY · BOUND TO LIVE GFORCES FEED IN PRODUCTION
{/* Services tiles */}
What we do
Four ways the showroom works.
{COPY.services.map((s, i) => (
0{i + 1}
{s.title}
{s.body}
))}
{/* Founder / story */}
SPEEDEX CENTER · WORKSHOP FLOOR
Our story
Built on a workshop floor — not a sales floor.
{COPY.about_long.map((p, i) => (
{p}
))}
01 Three generations of vehicle technicians
02 Ex-BMW & Rolls-Royce UK senior technicians
03 Ferrari · Bentley · Porsche · GCC specialists
{/* Car care band */}
RMA Car Care & PPF
The same hands that prepare the showroom cars look after yours.
Multi-stage polishing & paint correction
Paint-protection film & ceramic coating
Window tints, headlight & alloy refurb
{/* Reviews / Trustpilot placeholder */}
What customers say
Reviews live where they should — on Trustpilot.
Our review wall is the official Trustpilot widget — self-updating, unfiltered, owned by the
customer not by us. The embed will load here in production.
TRUSTPILOT EMBED · LIVE WIDGET
{[0,1,2,3,4].map(i => ★)}
RATING + REVIEW COUNT BIND TO LIVE TRUSTPILOT FEED · NO FABRICATED NUMBERS
MAP · SPEEDEX CENTER · DIP 1COORDS TBC · SITE'S OWN COORDS LOOK PLACEHOLDER
);
}
// ─────────────────────────────────────────────────────────────────────────────
// INVENTORY VIEW
function InventoryView({ navigate }) {
const [filters, setFilters] = useState({ make: "All", segment: "All", q: "", sort: "newest" });
const filtered = useMemo(() => {
let r = VEHICLES.slice();
if (filters.make !== "All") r = r.filter((v) => v.make === filters.make);
if (filters.segment !== "All") r = r.filter((v) => v.segment === filters.segment);
if (filters.q) {
const q = filters.q.toLowerCase();
r = r.filter((v) => `${v.make} ${v.model} ${v.body}`.toLowerCase().includes(q));
}
if (filters.sort === "newest") r.sort((a, b) => b.year - a.year);
if (filters.sort === "oldest") r.sort((a, b) => a.year - b.year);
if (filters.sort === "az") r.sort((a, b) => a.make.localeCompare(b.make));
return r;
}, [filters]);
return (
Live inventory
The showroom.
Every car in stock today. Prices are quoted on application — collector-grade and consigned
cars are individually appraised. Tap any car for the full spec, gallery and enquiry.
setFilters((f) => ({ ...f, make: v }))} />
setFilters((f) => ({ ...f, segment: v }))} />
Every field is what the feed gives us — nothing invented.
{specs.map((s, i) => (
{s.k}{s.v}
))}
Preparation
Every car that enters Speedex Center is mechanically and cosmetically prepared by the same
technicians who would sign off a factory delivery. Our ULTIMATE detail is applied as
standard — multi-stage paint correction, full interior recommission and a roadworthiness
report kept on file.
Provenance & paperwork
Service history, regional spec confirmation and warranty status are walked through with
you in person before any test drive. We do not list mileage publicly on collector and
consignment cars — those figures are shared during enquiry.
⚠ DEMO DATA · IN PRODUCTION SPECS BIND 1:1 TO LIVE GFORCES FEED FIELDS · POA SUPPORTED · NO INVENTED VALUES
);
}
// ─────────────────────────────────────────────────────────────────────────────
// "Placeholder" pages — Sell / Finance / Car Care / About / Contact
// Just enough to give the nav real links without padding with filler.
function MiniView({ title, eyebrow, body, ctaLabel, onEnquire, image }) {
return (