/* eslint-disable no-undef */
/* ──────────────────────────────────────────────────────────────────────
Pages part 2: Jurisdictions, Calculator, GoldenVisa, Resources, About,
Contact.
────────────────────────────────────────────────────────────────────── */
const {
Ic: I2, services: SRV2, jurisdictions: JU2, freeZones: FZ2,
T: T2, trust: TR2, guides: G2, team: TEAM2
} = window.VZ_DATA;
const { useState: uS2, useEffect: uE2, useMemo: uM2, useRef: uR2 } = React;
/* ====================================================================
JURISDICTIONS PAGE
==================================================================== */
function JurisdictionsPage({ locale, nav, openConsult }) {
const t = T2[locale] || T2.en;
const [active, setActive] = uS2(null);
return (
{t.sections.jurisdictions.eyebrow}
Mainland, free zone, or offshore? Side-by-side.
{t.sections.jurisdictions.sub}
Free zones
40+ free zones, sector-tuned.
We work with every major UAE free zone. Below is a sample — final shortlisting depends on your activity, visa needs, and target market.
{FZ2.map((f) => (
setActive(f)}
className="card card-hover" style={{ padding: 22, background: "white", textAlign: "start" }}>
{f.name}
{f.loc}
{f.focus}
Zone detail {I2.arrow()}
))}
* Indicative roster. Authority logos & partner status confirmed before publication.
{active && (
setActive(null)}>
e.stopPropagation()} style={{ width: "min(640px, 100%)" }}>
{active.name}
{active.loc}
setActive(null)} style={{ background: "transparent", border: "none", color: "var(--steel)" }}>{I2.close()}
{active.name} — {active.focus}
A focused free-zone option for {active.focus.toLowerCase()}. Indicative setup: license, lease (flexi-desk to fitted office), and a visa quota scaling with workspace.
Final fees set by the free-zone authority — confirmed live.
{ setActive(null); openConsult({ jurisdiction: "Free Zone" }); }}>Get an estimate for {active.name} {I2.arrow()}
setActive(null)}>Close
)}
);
}
window.JurisdictionsPage = JurisdictionsPage;
/* ====================================================================
COST ESTIMATOR
==================================================================== */
function CalculatorPage({ locale, nav, openConsult }) {
const t = T2[locale] || T2.en;
const [form, setForm] = uS2({
jurisdiction: "Free Zone",
activity: "Trading",
visas: 2,
office: "Flexi-desk",
});
const [contact, setContact] = uS2({ name: "", email: "", phone: "" });
const [step, setStep] = uS2("config"); // config | reveal | save
const range = uM2(() => {
// Indicative ranges. NO claim that these are official.
const base = {
"Free Zone": [11000, 13500],
"Mainland": [18500, 24500],
"Offshore": [9500, 12500],
}[form.jurisdiction] || [12000, 16000];
const visa = form.jurisdiction === "Offshore"
? [0, 0]
: [form.visas * 3200, form.visas * 4500];
const office = {
"Flexi-desk": [5900, 9300],
"Shared desk": [8500, 13000],
"Private office": [22000, 42000],
"Virtual office": [3500, 6000],
}[form.office] || [0, 0];
const lo = base[0] + visa[0] + office[0];
const hi = base[1] + visa[1] + office[1];
return { lo, hi, base, visa, office };
}, [form]);
return (
{t.sections.calculator.eyebrow}
{t.sections.calculator.title}
{t.sections.calculator.sub}
Indicative ranges only
Government & free-zone fees change. Final figure confirmed on a free consultation.
{/* LEFT — configurator */}
setForm({ ...form, jurisdiction: v })}
options={["Free Zone", "Mainland", "Offshore"]} />
setForm({ ...form, activity: v })}
options={["Trading", "Services / Consulting", "Tech / SaaS", "Industrial", "Holding"]} />
setForm({ ...form, visas: v })}
max={form.jurisdiction === "Offshore" ? 0 : 12}
disabled={form.jurisdiction === "Offshore"} />
setForm({ ...form, office: v })}
options={["Flexi-desk", "Shared desk", "Private office", "Virtual office"]}
disabled={form.jurisdiction === "Offshore"} />
Heads up. Year-one all-in, before activity-specific approvals (e.g. CB licensing, food-handling, financial-services regulator fees) or third-party services (audit, insurance, translation).
{/* RIGHT — output */}
Indicative
Year-one all-in · AED
{form.jurisdiction} · {form.activity} · {form.visas} visa{form.visas !== 1 ? "s" : ""} · {form.office}
{range.lo.toLocaleString()}
—
{range.hi.toLocaleString()}
≈ USD {Math.round(range.lo / 3.673).toLocaleString()} – {Math.round(range.hi / 3.673).toLocaleString()} · 60-second indicative range
Indicative only. Government and free-zone fees change. Final figure confirmed on consultation.
openConsult({ jurisdiction: form.jurisdiction, service: "Company Formation" })}>
Send to a specialist {I2.arrow()}
{I2.wa()} On WhatsApp
setStep("save")}>Email me this estimate
{step === "save" && (
)}
{/* Sources callout */}
What this doesn't include
Activity-specific approvals (food, health, financial services regulators)
Bank account opening — typically separate engagement
Year-2 renewals (lower than year 1)
Bookkeeping, audit, corporate tax filings
);
}
window.CalculatorPage = CalculatorPage;
function SegmentField({ label, value, onChange, options, disabled }) {
return (
{label}
{options.map((o) => (
onChange(o)}
style={{
padding: "9px 14px", borderRadius: 999,
fontSize: 13.5, fontWeight: 540,
border: "1px solid " + (value === o ? "var(--ink)" : "var(--line-2)"),
background: value === o ? "var(--ink)" : "white",
color: value === o ? "white" : "var(--ink)",
}}>{o}
))}
);
}
function NumberField({ label, value, setValue, min = 0, max = 20, disabled }) {
return (
{label}
setValue(Math.max(min, value - 1))} style={{ width: 32, height: 32, borderRadius: 999, border: "none", background: "var(--mist)" }}>{I2.minus()}
{value}
setValue(Math.min(max, value + 1))} style={{ width: 32, height: 32, borderRadius: 999, border: "none", background: "var(--mist)" }}>{I2.plus()}
);
}
function BreakdownRow({ label, lo, hi, dim }) {
return (
{label}
{lo === 0 && hi === 0 ? "Included" : `AED ${lo.toLocaleString()} – ${hi.toLocaleString()}`}
);
}
/* ====================================================================
GOLDEN VISA — eligibility assessment
==================================================================== */
function GoldenVisaPage({ locale, nav, openConsult }) {
const t = T2[locale] || T2.en;
const [step, setStep] = uS2(0);
const [a, setA] = uS2({});
const questions = [
{ id: "cat", q: "Which best describes you?",
opts: ["Investor (real estate or business)","Founder / entrepreneur","Skilled professional","Specialised talent / scientist","Outstanding student","Just exploring"] },
{ id: "invest", q: "Approximate UAE investment / business interest",
opts: ["AED 2M+ real estate","AED 2M+ business / capital","AED 500k – 2M","Under AED 500k","Not applicable"] },
{ id: "salary", q: "If employed, monthly UAE salary",
opts: ["AED 30,000+","AED 15,000 – 30,000","Under AED 15,000","Not employed"] },
{ id: "country", q: "Current residence",
opts: ["UAE","GCC","Europe / UK","North America","Asia","Other"] },
{ id: "depend", q: "Will you include dependants?",
opts: ["Yes — spouse + children","Yes — spouse","Yes — parents too","No"] },
];
const q = questions[step];
const finished = step >= questions.length;
// crude eligibility scoring — illustrative only
const verdict = uM2(() => {
if (!finished) return null;
const c = a.cat || "";
if (c.startsWith("Investor")) return { tier: "Strong indicator", category: "Investor pathway", note: "Real estate or business capital at AED 2M+ typically supports investor eligibility." };
if (c.startsWith("Founder")) return { tier: "Likely route", category: "Entrepreneur pathway", note: "Founders with approved projects or established UAE companies often qualify." };
if (c.startsWith("Skilled")) return { tier: "Possible route", category: "Skilled professional", note: "Eligibility scales with field, salary band, and qualifications." };
if (c.startsWith("Specialised") || c.startsWith("Outstanding")) return { tier: "Strong indicator", category: "Specialised talent", note: "Specialised talent and outstanding student categories carry their own criteria." };
return { tier: "Worth exploring", category: "Multiple pathways", note: "Best to walk through your situation with a specialist." };
}, [a, finished]);
return (
{t.sections.goldenVisa.eyebrow}
{t.sections.goldenVisa.title}
{t.sections.goldenVisa.sub}
{/* progress */}
{questions.map((_, i) => (
))}
{finished ? "Assessment complete" : `Question ${step + 1} of ${questions.length}`}
{!finished ? (
{q.q}
{q.opts.map((opt) => (
{ setA({ ...a, [q.id]: opt }); setTimeout(() => setStep(step + 1), 100); }}
style={{
padding: "16px 20px", textAlign: "start", borderRadius: 12,
border: "1px solid " + (a[q.id] === opt ? "var(--ink)" : "var(--line-2)"),
background: a[q.id] === opt ? "var(--ink)" : "white",
color: a[q.id] === opt ? "white" : "var(--ink)",
fontSize: 15.5, fontWeight: 540, transition: "all .12s ease",
cursor: "pointer",
}}>
{opt}
{I2.arrow()}
))}
{step > 0 &&
setStep(step - 1)}>← Back }
) : (
Indicative assessment
{verdict.tier}.
{verdict.category} · 10-year residency
{verdict.note}
Indicative only. Final eligibility is confirmed by the General Directorate of Residency & Foreigners Affairs (GDRFA).
openConsult({ service: "Golden Visa", intent: "Apply for the Golden Visa" })}>
Talk to a Golden Visa specialist {I2.arrow()}
{ setStep(0); setA({}); }}
style={{ background: "rgba(255,255,255,0.08)", color: "white", borderColor: "rgba(255,255,255,0.18)" }}>
Re-run the assessment
)}
);
}
window.GoldenVisaPage = GoldenVisaPage;
/* ====================================================================
RESOURCES
==================================================================== */
function ResourcesPage({ locale, nav, openConsult }) {
const t = T2[locale] || T2.en;
const kinds = ["All", ...Array.from(new Set(G2.map((g) => g.kind)))];
const [k, setK] = uS2("All");
const list = k === "All" ? G2 : G2.filter((g) => g.kind === k);
return (
{t.sections.resources.eyebrow}
Guides for UAE founders, written for humans.
Authoritative, plain-language reads on setup, tax, visas, and structuring — updated as authority rules change.
{kinds.map((x) => (
setK(x)}>{x}
))}
);
}
window.ResourcesPage = ResourcesPage;
/* ====================================================================
ABOUT
==================================================================== */
function AboutPage({ locale, nav, openConsult }) {
const t = T2[locale] || T2.en;
return (
{t.sections.about.eyebrow}
{t.sections.about.title}
Founded in 2009 by Neil Petch (Chairman) and Geoff Rapp (Executive Director). Today led by Group CEO George Hojeige . Part of the Singapore-headquartered Ascentium group since January 2025.
First independent UAE formation specialist
Self-reported: 80,000+ entrepreneurs
180+ countries served
Ascentium group
Etisalat e& partner
{/* Timeline */}
A short history
16 years of UAE formation.
{[
{ y: "2009", k: "Founded", one: "Neil Petch & Geoff Rapp launch Virtuzone as a UAE formation specialist." },
{ y: "2014", k: "Scaled team", one: "Multi-jurisdiction PRO desk, in-house compliance, dedicated banking liaison." },
{ y: "2019", k: "Cross-service", one: "Full corporate-services stack: tax, accounting, legal, advisory, IT, insurance." },
{ y: "2025", k: "Ascentium", one: "Acquired by Ascentium (Singapore, Hillhouse-backed). Sister brands: TaxReady.ae, Next Generation Equity, MAKTABI." },
].map((m, i) => (
0 ? 26 : 0 }}>
{m.y}
{m.k}
{m.one}
))}
{/* Leadership */}
{t.sections.team.eyebrow}
{t.sections.team.title}
{TEAM2.map((p, i) => (
))}
* Portrait images and titles to be consent-confirmed before publishing.
{/* Office gallery */}
Inside the office
Souk Al Bahar, Burj Khalifa district.
);
}
window.AboutPage = AboutPage;
/* ====================================================================
CONTACT
==================================================================== */
function ContactPage({ locale, nav, openConsult }) {
const t = T2[locale] || T2.en;
const [sent, setSent] = uS2(false);
const [form, setForm] = uS2({ name: "", email: "", phone: "", topic: "Company Formation", msg: "" });
return (
{t.sections.contact.eyebrow}
{t.sections.contact.title}
Talk to a senior advisor — free 30-min call. We cover structure, jurisdiction, and an indicative range.
{/* form */}
{!sent ? (
) : (
{I2.check({ width: 22, height: 22 })}
Got it, {form.name.split(" ")[0]}.
A specialist for {form.topic} will reach out within one business day. For anything urgent — WhatsApp is fastest.
)}
{/* sidebar */}
);
}
window.ContactPage = ContactPage;
/* ── Shared CTA band ─────────────────────────────────────────────────── */
function CTABand({ t, openConsult, nav, variant = "ink" }) {
const dark = variant === "ink";
return (
Next step
Talk to a senior advisor — free.
30-minute consultation. Structure, jurisdiction, indicative range, what to do next. No commitment.
);
}
window.CTABand = CTABand;