// ============================================================
// MONOGRAM — Bespoke multi-step enquiry flow
// ============================================================
const INTERESTS_EN = [
{ id: "jewellery", title: "Fine", ital: "jewellery.", sub: "Commission a sculptural piece from one of the five collections, or a one-of-a-kind." },
{ id: "invitation", title: "Couture", ital: "invitations.", sub: "Bespoke invitation suite for a wedding, exhibition, or private event." },
{ id: "both", title: "Both —", ital: "a full suite.", sub: "Jewellery + invitations for a single occasion. Treated as one commission." },
{ id: "open", title: "I'd like to", ital: "talk first.", sub: "Not sure yet — book a 30-minute conversation at the d3 studio." },
];
const INTERESTS_AR = [
{ id: "jewellery", title: "مجوهرات", ital: "راقية.", sub: "قطعةٌ نحتيّة من إحدى المجموعات الخمس، أو تصميمٌ فرديّ." },
{ id: "invitation", title: "دعوات", ital: "كوتور.", sub: "دعوات حسب الطلب لعرس، أو معرض، أو مناسبة خاصّة." },
{ id: "both", title: "كلاهما —", ital: "حزمة متكاملة.", sub: "مجوهرات + دعوات لمناسبة واحدة. تُعامَل كطلبٍ واحد." },
{ id: "open", title: "أحبّ", ital: "الحديث أوّلاً.", sub: "لم أحدّد بعد — لقاءٌ مدّته ٣٠ دقيقة في الاستوديو." },
];
const TIMELINE_EN = [
"Within 1 month",
"1 – 3 months",
"3 – 6 months",
"Open — when the work is ready",
];
const TIMELINE_AR = [
"خلال شهر",
"١ – ٣ أشهر",
"٣ – ٦ أشهر",
"مفتوح ـ حين يكتمل العمل",
];
function BespokeScreen({ setRoute, locale, preset }) {
const t = COPY[locale];
const isAr = locale === "ar";
const [step, setStep] = useState(0);
const [data, setData] = useState({
interest: preset || "jewellery",
collection: preset && preset !== "invitation" ? preset : "sculptural",
occasion: "",
timeline: isAr ? TIMELINE_AR[1] : TIMELINE_EN[1],
refs: [],
name: "",
contact: "",
method: "whatsapp",
notes: "",
});
const [submitted, setSubmitted] = useState(false);
useEffect(() => {
window.scrollTo({ top: 0, behavior: "instant" });
}, []);
const STEPS = isAr
? ["الاهتمام", "التفاصيل", "المراجع", "التواصل", "المراجعة"]
: ["Interest", "Details", "References", "Contact", "Review"];
const set = (k, v) => setData((d) => ({ ...d, [k]: v }));
// ---- Step renderers ----
const Step0 = () => (
{isAr ? <>ما الذي يجمعنا اليوم؟> : <>What brings you to MONOGRAM?>}
{isAr
? "كلّ طلبٍ يبدأ بنوع المشروع. اختر ما يناسبك ـ يمكنك تغييره لاحقاً."
: "Every commission begins with a kind of project. Pick what fits — you can change this later."}
{isAr ? <>التفاصيل الأوّليّة.> : <>The first details.>}
{isAr
? "كي نأتي إلى اللقاء وفي ذهننا فكرة. كلّ هذه الحقول اختياريّة."
: "So we arrive at the meeting with something already in mind. All fields are optional."}
{isAr ? <>المراجع والإلهام.> : <>References, if you have any.>}
{isAr
? "صورة لحرفٍ تحبّه، ورقةٌ مطويّة، أو ببساطة صورة لقطعة موجودة لديك. اختياريّ."
: "A letter you love, a folded paper, even a picture of an existing piece you’d like to echo. Optional."}
{data.refs.length > 0 && (
{data.refs.map((r, i) => (
{String(i + 1).padStart(2, "0")}
))}
)}
);
};
const Step3 = () => (
{isAr ? <>كيف نتواصل معك؟> : <>How may we reach you?>}
{isAr
? "نُفضّل واتساب لردٍّ سريع. سيتم تجهيز رسالة مع كلّ ما أدخلته."
: "We prefer WhatsApp for fastest reply. We’ll pre-fill a message with everything you’ve entered."}
{isAr
? "هذه الرسالة جاهزة للإرسال على واتساب. يمكنك تعديلها قبل الإرسال."
: "This message is ready to send on WhatsApp. You can adjust it before sending."}
{isAr ? <>اللقاء قد بدأ.> : <>The conversation has begun.>}
{isAr
? "شكراً. سيتواصل معك أحد المصمّمين خلال يوم العمل التالي. في هذه الأثناء يمكنك متابعتنا على إنستغرام، أو زيارتنا في الاستوديو بموعد مسبق."
: "Thank you. A designer from the studio will be in touch within one business day. In the meantime you can follow on Instagram, or visit the studio by appointment."}