// contact.jsx — Qualified enquiry form + WhatsApp deep-link. function Contact({ lang, onNav }) { const ar = lang === 'ar'; const [data, setData] = useState({ firstName: '', lastName: '', email: '', phone: '', weddingDate: '', venue: '', guests: '', services: [], budget: '', message: '', heardFrom: '', }); const [touched, setTouched] = useState(false); const [sent, setSent] = useState(false); const update = (k, v) => setData(d => ({ ...d, [k]: v })); const toggleService = (s) => setData(d => ({ ...d, services: d.services.includes(s) ? d.services.filter(x => x !== s) : [...d.services, s] })); const required = ['firstName', 'email', 'weddingDate', 'services']; const isValid = required.every(k => k === 'services' ? data.services.length > 0 : data[k]?.trim?.()); const handleSubmit = (e) => { e.preventDefault(); setTouched(true); if (!isValid) return; // Pre-fill WhatsApp deep link and open it const msg = `Hi Joelle, I'd love to enquire about our wedding.%0A%0A` + `Name: ${data.firstName} ${data.lastName}%0A` + `Email: ${data.email}%0A` + `Wedding date: ${data.weddingDate}%0A` + `Venue / area: ${data.venue || 'TBC'}%0A` + `Guest count: ${data.guests || 'TBC'}%0A` + `Services: ${data.services.join(', ')}%0A` + `Budget band: ${data.budget || 'TBC'}%0A%0A` + `${data.message}`; window.open(`https://wa.me/971551304916?text=${msg}`, '_blank'); setSent(true); }; return (
{/* Left: pitch + contact details */} {/* Right: form */}
{sent ? {setSent(false); setData({ firstName:'', lastName:'', email:'', phone:'', weddingDate:'', venue:'', guests:'', services:[], budget:'', message:'', heardFrom:'' }); setTouched(false);}}/> : (
The qualified enquiry form
{/* Name */}
update('firstName', e.target.value)} placeholder="Joelle"/> update('lastName', e.target.value)}/>
{/* Email + phone */}
update('email', e.target.value)} placeholder="you@email.com"/> update('phone', e.target.value)} placeholder="+971 ..."/>

{/* Wedding details */}
The wedding
update('weddingDate', e.target.value)} placeholder="e.g. March 2027 or 14 / 03 / 2027"/> update('venue', e.target.value)} placeholder="e.g. Waldorf RAK, or undecided"/>
{['Up to 40','40–80','80–120','120–180','180+','Not sure yet'].map(g => ( ))}

{/* Services (multi) */}
What can we help with? *

Tick all that apply — we'll figure out the right scope on the call.

{[ 'Wedding Styling', 'Full Planning', 'Coordination only', 'Florals', 'Stationery', 'Just exploring', ].map(s => ( ))}
{touched && data.services.length === 0 && (
Pick at least one — even "Just exploring" is a great start.
)}
{['Under 50k AED','50–100k','100–200k','200–400k','400k+','Rather chat first'].map(b => ( ))}

{/* Message + heard from */}