/* global React, ReactDOM, Wordmark, Navbar, Hero, Ethos, CollectionsSection, Atelier, Maison, Occasions, AppointmentBand, Showrooms, Footer, QuickView, TweaksPanel, useTweaks, TweakSection, TweakRadio, TweakColor, TweakSelect */ const { useState, useEffect } = React; const TWEAK_DEFAULTS = /*EDITMODE-BEGIN*/{ "hero_variant": "noir", "accent": "#b8954e", "hero_image": "media/sway-bracelet-wing.webp" }/*EDITMODE-END*/; // ──────────────────────────────────────────────────────────── // Appointment Modal — multi-step flow // ──────────────────────────────────────────────────────────── function AppointmentModal({ open, onClose }) { const [step, setStep] = useState(0); const [data, setData] = useState({ showroom: "Dubai", date: "", time: "", interest: "", name: "", email: "", phone: "", message: "", whatsapp: true, }); const set = (k, v) => setData((d) => ({ ...d, [k]: v })); useEffect(() => { if (open) { setStep(0); } }, [open]); useEffect(() => { const onKey = (e) => { if (e.key === "Escape") onClose(); }; document.addEventListener("keydown", onKey); return () => document.removeEventListener("keydown", onKey); }, [onClose]); const steps = ["Showroom", "When", "Interest", "Contact"]; const next = () => setStep((s) => Math.min(s + 1, steps.length)); const back = () => setStep((s) => Math.max(s - 1, 0)); return (
e.stopPropagation()}>

An hour, in private.

"Spend an hour with a Lawson specialist. Preview Gate, Lamina & Sway pieces in person — or commission something entirely your own."
Verified · WhatsApp +971 54 405 5525
{steps.map((s, i) => (
))}
{step < steps.length && ( <>
Step {step + 1} of {steps.length}
)} {step === 0 && ( <>

Choose your showroom.

Both are by invitation. Dubai is our flagship private showroom.
{[ { city: "Dubai", sub: "Design District · d3 4A-506" }, { city: "London", sub: "One Seymour Street · W1H 7JW" }, ].map((o) => ( ))}
)} {step === 1 && ( <>

When suits you best?

Slots are confirmed by phone or WhatsApp within 24 hours.
set("date", e.target.value)} />
)} {step === 2 && ( <>

What brings you in?

Tell us a little — we'll prepare a tray ahead of your visit.
{[ { v: "Proposal / engagement", s: "Sway · Gate · Lamina rings" }, { v: "Gifting", s: "Studs · Pendants · Lamina" }, { v: "Bespoke commission", s: "One-of-a-kind, made in Italy" }, { v: "Just to browse", s: "Tea and the current collections" }, ].map((o) => ( ))}
)} {step === 3 && ( <>

Where shall we reach you?

We'll confirm within 24 hours and never share your details.
set("name", e.target.value)} placeholder="Full name" />
set("email", e.target.value)} placeholder="you@email.com" />
set("phone", e.target.value)} placeholder="+971 …" />