/* chrome.jsx — Navbar, Footer, ConsultationDrawer, ConsultBar, WhatsAppFab */ const Navbar = ({route, setRoute, onOpenConsult, locale, setLocale}) => { const [megaOpen, setMegaOpen] = React.useState(null); // 'collections' | 'bespoke' | null const closeAll = () => setMegaOpen(null); return ( ); }; const MegaColumn = ({title, items, onPick}) => (
{title}
); // =========================================================== // Consultation Drawer (multi-step) // =========================================================== const ConsultationDrawer = ({open, onClose, prefill}) => { const [step, setStep] = React.useState(0); const [data, setData] = React.useState({ occasion: prefill?.occasion || '', piece: prefill?.piece || '', budget: '', metal: '', showroom: 'gate-3', name: '', email: '', phone: '', date: '', message: '', }); React.useEffect(() => { if (open) { setStep(0); } }, [open]); if (!open) return null; const set = (k, v) => setData((d) => ({...d, [k]: v})); const occasions = ['Engagement', 'Wedding Band', 'Anniversary', 'Gift', 'A piece for myself', 'Bespoke commission']; const budgets = ['AED 9k–20k', 'AED 20k–50k', 'AED 50k–100k', 'AED 100k+', 'Open']; const metals = ['Yellow Gold', 'White Gold', 'Rose Gold', 'Platinum', 'Mixed / Advise me']; const steps = [ { title: 'The occasion', body: (

So we know whom to seat you with.

{occasions.map((o) => ( ))}
{prefill?.piece && (
Piece in mind
{byId(prefill.piece)?.name}
)}
)}, { title: 'Budget & metal', body: (
{budgets.map((b) => ( ))}
{metals.map((m) => ( ))}
)}, { title: 'Where & when', body: (
{[ {id: 'gate-3', name: 'Gate 3 · Dalmook Bldg'}, {id: 'gate-1', name: 'Gate 1 · Al Ghurair Bldg'}, {id: 'virtual', name: 'Virtual call'}, ].map((s) => ( ))}
set('date', e.target.value)} />
)}, { title: 'Your details', body: (
set('name', e.target.value)} placeholder="Your full name" />
set('email', e.target.value)} placeholder="name@example.com" />
set('phone', e.target.value)} placeholder="+971 …" />