/* eslint-disable */ /* Kaya UAE — main app */ const { useState, useEffect, useRef, useMemo } = React; /* ─────────── helpers ─────────── */ function Icon({ name, size = 16 }) { const s = size; const stroke = "currentColor"; if (name === "arrow") return ( ); if (name === "phone") return ( ); if (name === "close") return ( ); if (name === "lock") return ( ); if (name === "check") return ( ); if (name === "pin") return ( ); if (name === "whats") return ( ); return null; } function Brand() { return ( { e.preventDefault(); window.scrollTo({ top: 0, behavior: 'smooth' }); }}> kaya Skin Clinic · UAE ); } /* ─────────── Topbar + Nav ─────────── */ function TopBar({ openBooking }) { return (
15 clinics across the UAE — Dubai · Abu Dhabi · Sharjah · Al Ain · Fujairah · RAK
  WhatsApp · pending   800 SKIN · 800 5292 { e.preventDefault(); }}>EN · العربية
); } function Nav({ openBooking, scrollTo }) { return ( ); } /* ─────────── Hero ─────────── */ function Hero({ openBooking, scrollTo, tweaks }) { return (
DHA-licensed dermatology UAE · since 2003*

The first
consultation
is the treatment.

A dermatologist looks at your skin and your history before anything else is suggested. Fifteen clinics across the Emirates, one shared standard of care.

350,000+
Customers trusted with their skin
Attributed — Kaya UAE
15
UAE clinics, six emirates
Verified — clinic finder
23+
Years dermatologist-led care
*founding 2003 — to verify
Skin treatment in clinic
Advertisement Licence · RLEZ0E7S-070526
); } function ConcernsBar() { const [active, setActive] = useState(null); return (
Start with a concern →
{CONCERNS.map((c) => ( ))}
); } /* ─────────── Treatments ─────────── */ function Treatments({ openDrawer }) { const cats = ["All", "Skin", "Hair", "Body", "Surgical", "Programme"]; const [filter, setFilter] = useState("All"); const list = filter === "All" ? TREATMENTS : TREATMENTS.filter(t => t.category === filter); return (
Treatments — 02

Outcome-led, not list-led.

Every Kaya treatment page sets out who it's for, how it works and what to expect — accurate, compliant, and never with a guaranteed result.

{cats.map(c => ( ))}
{list.map(t => (
openDrawer(t.id)}>
{t.title}/
{t.num} · {t.category}

{t.title}

{t.blurb}

Read full protocol
))}
); } /* ─────────── Solutions ─────────── */ function Solutions() { return (
Solutions — 03

Named devices.
Named protocols.

The "how" behind each treatment — third-party devices and clinical protocols, presented with their proper names and not as proprietary magic.

All solutions
{SOLUTIONS.map(s => (
{s.kind}
{s.name}

{s.desc}

))}
); } /* ─────────── Editorial split — About ─────────── */ function About() { return (
Kaya UAE — history
About — 04

A clinic chain that grew up with the country.

Kaya Middle East FZE opened its first UAE clinic in the early 2000s. Today the network spans fifteen locations across six emirates — one team, one standard of care, one number to call.

01

Dermatologist-led, not influencer-led

Every plan begins with a licensed dermatologist or aesthetic physician — not a sales counter.

02

DHA-compliant by default

Our copy, our consent forms and our before-and-after policy are written to the standard the regulator expects.

03

One chain, one record

Move between branches without restarting your history — your file follows you.

04

Superbrand — attributed

Recognised as a Superbrand UAE's Choice. A marketing recognition, not a clinical claim.

); } /* ─────────── Doctors ─────────── */ function Doctors() { return (
Doctors — 05

Meet the practitioners.

Every clinician below will be published with name, photograph, DHA licence number and specialty — once each profile has been individually verified. Until then the roster sits behind a verification gate, not a stock photo.

Full medical team
{DOCTORS.map(d => (
Doctor portrait — pending verification
Dr. — pending
{d.specialty} · {d.branches}
DHA licence to verify
))}
); } /* ─────────── Clinic finder ─────────── */ function ClinicFinder() { const [emirate, setEmirate] = useState("All"); const [active, setActive] = useState(CLINICS[0].id); const list = emirate === "All" ? CLINICS : CLINICS.filter(c => c.city === emirate); const activeClinic = CLINICS.find(c => c.id === active); return (
Clinics — 06

Fifteen clinics.
Six emirates.

Server-rendered branch data — addresses verified from the live clinic finder. Hours, per-branch phones and coordinates flagged for client confirmation.

{EMIRATES.map(e => ( ))}
{list.map((c, i) => (
setActive(c.id)}>
{String(CLINICS.indexOf(c) + 1).padStart(2, '0')}
{c.name}
{c.city}
{c.addr}
))}
{list.length} clinic{list.length === 1 ? '' : 's'} · {emirate} Per-branch hours, phones & map coordinates → client confirmation
); } function ClinicMap({ clinics, active, setActive }) { return (
RAS AL KHAIMAH
SHARJAH
FUJAIRAH
DUBAI
ABU DHABI
AL AIN
{/* faux Gulf coastline */} {clinics.map(c => (
setActive(c.id)}> {c.name}
))}
); } /* ─────────── Trust band ─────────── */ function Trust() { return (
Built on attributable trust — 07

Numbers we'll stand behind.

Every figure on this page is sourced. We won't publish a brand-wide rating, because there isn't one — Kaya operates fifteen Google listings, not one. We'll show verified per-branch ratings as they are confirmed.

350K+

Customers cared for across the UAE network.

Source — Kaya UAE about page

15

Clinics, listed individually in the clinic finder.

Source — clinic-finder (live)

DHA

Licensed dermatology and aesthetic medicine in the UAE.

Establishment licence — to verify

Brand-wide review rating. Doesn't exist. We won't invent one.

Per-branch ratings only, once verified
); } /* ─────────── Before / After gate ─────────── */ function BeforeAfterGate() { return (
Before & After — 08

Consent-gated, by design.

We don't show before-and-after photography without explicit, written patient consent and DHA advertising-compliance review. This space is reserved — when a patient agrees and the imagery is approved, it appears here.

Pending consent
Pending consent
Pending consent
Pending consent
); } /* ─────────── Footer ─────────── */ function Footer() { return ( ); } /* ─────────── Treatment drawer ─────────── */ function Drawer({ open, treatmentId, onClose, openBooking }) { const t = TREATMENTS.find(x => x.id === treatmentId); return (
); } /* ─────────── Booking modal ─────────── */ function Booking({ open, onClose, preselect }) { const [step, setStep] = useState(0); const [data, setData] = useState({ treatment: "", clinic: "", name: "", phone: "", email: "", when: "morning", notes: "", }); useEffect(() => { if (open) { setStep(0); setData(d => ({ ...d, treatment: preselect || "" })); } }, [open, preselect]); const update = (k, v) => setData(d => ({ ...d, [k]: v })); const next = () => setStep(s => Math.min(s + 1, 3)); const back = () => setStep(s => Math.max(s - 1, 0)); const canNext = () => { if (step === 0) return !!data.treatment; if (step === 1) return !!data.clinic; if (step === 2) return data.name.trim().length > 1 && data.phone.trim().length > 5; return true; }; if (!open) return null; return (
{ if (e.target.classList.contains('modal')) onClose(); }}>
{[0, 1, 2, 3].map(i =>
)}
{step === 0 && (

What brings you in?

You can change this with the dermatologist — we just need a starting point.

{TREATMENTS.map(t => ( ))}
)} {step === 1 && (

Which clinic suits you?

Fifteen across the country — pick the one nearest to home or work.

{[['morning','Morning'],['afternoon','Afternoon'],['evening','Evening']].map(([k, l]) => ( ))}
)} {step === 2 && (

How can we reach you?

We collect the minimum — no medical history at this stage. Your dermatologist will take that in person.

update('name', e.target.value)} placeholder="Your name"/>
update('phone', e.target.value)} placeholder="+971…"/>
update('email', e.target.value)} placeholder="you@…"/>