// Multi-step service request form const Request = ({ t, lang, selectedParcel, setPage, preselectedServices }) => { const data = window.DAOOB_DATA; const hasPreselected = Array.isArray(preselectedServices) && preselectedServices.length > 0; const [step, setStep] = React.useState(hasPreselected ? 2 : 1); const [picks, setPicks] = React.useState(hasPreselected ? preselectedServices : [0]); const [form, setForm] = React.useState({ name: "", email: "", phone: "", org: "", role: "Individual investor", note: "" }); const sel = data.parcels.find(p => p.id === selectedParcel) || data.parcels.find(p => p.featured); const district = data.districts[sel.district]; const togglePick = (i) => setPicks(p => p.includes(i) ? p.filter(x => x !== i) : [...p, i]); const studies = t.services.list; const pickedStudies = picks.map(i => studies[i]); const totalRange = pickedStudies.reduce((acc, s) => acc + (s.daoob || 500), 0); const officeTotalRange = pickedStudies.reduce((acc, s) => { const m = s.price.match(/[\d,]+/); const n = m ? parseInt(m[0].replace(/,/g, ""), 10) : 0; return acc + n; }, 0); const leadDays = 0; const ref = "DAO-2026-" + (190 + picks.length).toString().padStart(4, "0"); return (
{t.nav.get_started}

{t.request.h1}

{[1,2,3,4].map(n => (
n ? " done" : "")}>
0{n}
{t.request[`s${n}`]}
))}
{step === 1 && (

{t.request.s1}

{t.request.parcel_ref}
{sel.id}
{district[lang]} · {data.zoningTypes[sel.zone][lang]} · {sel.area.toLocaleString()} {t.map.sqm}

{lang === "ar" ? "تم استخراج بيانات القطعة من سجل REGA. يمكنك مواصلة طلب الدراسة." : "Parcel data resolved against the REGA registry. You're ready to commission a study."}

)} {step === 2 && (

{t.request.s2}

{studies.map((s, i) => (
togglePick(i)}>
{picks.includes(i) && }
{s.t}
{s.d}
{(s.daoob || 500).toLocaleString()} {lang === "ar" ? "ر.س" : "SAR"} · {t.services.compare.ai_lead} {s.price} · {s.lead}
))}
)} {step === 3 && (

{t.request.s3}

setForm({...form, name: e.target.value})}/>
setForm({...form, email: e.target.value})}/>
setForm({...form, phone: e.target.value})}/>
setForm({...form, org: e.target.value})}/>