/* ===== screen-home.jsx ===== */
function HomeScreen({ locale, setRoute, heroVariant }) {
const s = STR[locale];
return (
);
}
// ===== HERO =====
function Hero({ locale, setRoute, variant }) {
const s = STR[locale];
// Three hero variants: 'split' (default), 'centered', 'image'
if (variant === "centered") {
return (
{s.hero.eyebrow}
{s.hero.title[0]}
{s.hero.title[1]}
{s.hero.sub}
setRoute("calculator")}>{s.cta.book}
setRoute("calculator")}>{s.cta.estimate}
{s.cta.whatsapp}
);
}
if (variant === "image") {
return (
{s.hero.eyebrow}
{s.hero.title[0]}{s.hero.title[1]}
{s.hero.sub}
);
}
// SPLIT (default) — type left, layered visuals right
return (
{s.hero.eyebrow}
{s.hero.title[0]}
{s.hero.title[1]}
{s.hero.sub}
setRoute("calculator")}>
{s.cta.book}
setRoute("calculator")}>
{s.cta.estimate}
{s.cta.whatsapp}
{["leader-lorenzo","leader-wael","leader-neha","leader-rebecca"].map((n,i) => (
))}
30+ in-house specialists — average response under 30 minutes.
);
}
function BgOrnament() {
return (
<>
>
);
}
// Floating mini estimator preview
function HeroEstimatorMini({ locale, setRoute }) {
const [zone, setZone] = React.useState("dmcc");
const [visas, setVisas] = React.useState(2);
const ranges = window.CALC_RANGES;
const r = ranges.estimate({ zone, activity: "trading", visas, office: "flexi" });
return (
Indicative range
AED {r.low.toLocaleString()} – {r.high.toLocaleString()}
setRoute("calculator")}>
Get my detailed estimate
{STR[locale].indicative}
);
}
function HeroAdvisorCard() {
return (
Your advisor
Lorenzo J.
● Online · replies ~5 min
);
}
function HeroBadge() {
return (
DIFC Registered CSP
);
}
// ===== TRUST STRIP =====
function TrustStrip({ locale }) {
const items = STR[locale].trust;
return (
{items.map((t, i) => (
{t}
))}
);
}
// ===== SERVICES JOURNEY CARDS =====
function ServicesSection({ locale, setRoute }) {
return (
setRoute("services")}>
All 12 services
{DATA.services.slice(0, 8).map((sv, i) => (
setRoute("services")}
style={{ textAlign: "left", background: "#fff", cursor: "pointer", display: "flex",
flexDirection: "column", gap: 14, minHeight: 200 }}>
{locale === "ar" ? sv.labelAr : sv.label}
{locale === "ar" ? sv.blurbAr : sv.blurb}
How it works
))}
);
}
// ===== JURISDICTION COMPARISON TEASER =====
function ComparisonTeaser({ locale, setRoute }) {
const rows = [
{ label: "Ownership", mainland: "100% foreign (most activities)", free: "100% foreign", offshore: "100% foreign" },
{ label: "Trade scope", mainland: "Anywhere in the UAE + abroad", free: "Within the zone + abroad", offshore: "Outside the UAE only" },
{ label: "Office requirement", mainland: "Physical office (Ejari)", free: "Flexi-desk to private office", offshore: "Registered agent address" },
{ label: "Visa eligibility", mainland: "Tied to office size", free: "Tied to package & space", offshore: "Generally none" },
{ label: "Setup speed", mainland: "2–4 weeks", free: "5–10 working days", offshore: "3–7 working days" },
];
const cols = ["mainland", "free", "offshore"];
const heads = ["Mainland", "Free Zone", "Offshore"];
return (
Property
{heads.map((h, i) => (
{h}
{i === 0 ? "Trade across the UAE" : i === 1 ? "Most flexible, fastest" : "International holding"}
))}
{rows.map((r, ri) => (
{r.label}
{cols.map((c, i) => (
{r[c]}
))}
))}
{STR[locale].indicative}
setRoute("jurisdictions")}>
Compare all 25+ jurisdictions
);
}
// ===== CALCULATOR TEASER =====
function CalculatorTeaser({ locale, setRoute }) {
return (
Cost calculator
Get an indicative cost in under 2 minutes.
Pick your jurisdiction, activity, visas and office type. We'll show an indicative range — then put you on a free call with an advisor who'll confirm the exact number.
{["Indicative ranges only — never a fixed price",
"Covers 25+ mainland / free-zone / offshore options",
"Lead capture optional — chat first, register later"].map(x => (
{x}
))}
);
}
function CalcStepsPreview() {
const steps = [
{ n: "01", label: "Jurisdiction", val: "DMCC · Free Zone" },
{ n: "02", label: "Activity", val: "Trading — general" },
{ n: "03", label: "Visas", val: "2 employees + 1 partner" },
{ n: "04", label: "Office", val: "Flexi-desk · co-working" },
];
return (
{steps.map((s, i) => (
))}
Indicative range
AED 22,500 – 34,800
Government fees can change — confirm with an advisor.
);
}
// ===== RESOURCES TEASER =====
function ResourcesTeaser({ locale }) {
return (
);
}
// ===== PARTNERS =====
function PartnersStrip() {
return (
Free-zone partners we work with every day
{["DMCC", "DIFC", "JAFZA", "ADGM", "RAKEZ"].map(n => (
{n}
))}
ⓘ Partner logos shown subject to confirmed usage rights — design pitch placeholder.
);
}
// ===== CLOSING CTA =====
function ClosingCta({ locale, setRoute }) {
const s = STR[locale];
return (
Ready to set up? Talk to an advisor today — on us.
Free 30-minute consultation. Pick a jurisdiction, get a clear indicative cost, and a single point of contact for everything that follows.
);
}
Object.assign(window, { HomeScreen });