// Agora DreamFinder — guided form to commission a search across the network.
const DreamFinder = ({ setRoute }) => {
const [step, setStep] = useState(1);
const [brand, setBrand] = useState('Hermès');
const [model, setModel] = useState('Kelly');
const [size, setSize] = useState('28');
const [color, setColor] = useState('etoupe');
const [hardware, setHardware] = useState('palladium');
const [cond, setCond] = useState('Excellent');
const [year, setYear] = useState([2018, 2026]);
const [budget, setBudget] = useState(12000);
const palettes = window.AG_DATA.palettes;
const colorOpts = [
{ id:'etoupe', label:'Etoupe', p: palettes.etoupe },
{ id:'noir', label:'Noir', p: palettes.noir },
{ id:'gold', label:'Gold', p: palettes.cognac },
{ id:'rouge', label:'Rouge H', p: palettes.rouge },
{ id:'cream', label:'Craie', p: palettes.cream },
{ id:'forest', label:'Vert', p: palettes.bottega },
];
return (
Dream Finder · We hunt it for you
You want it.
We find it.
Tell us the piece. We'll send a brief to our 1,284 sellers worldwide and message you when matches surface. Median time to first match: 11 days.
{/* Stepper */}
{[
{ n: 1, l:'Piece' },
{ n: 2, l:'Specification' },
{ n: 3, l:'Budget & contact' },
{ n: 4, l:'Brief sent' },
].map((s, i, arr) => (
= s.n ? '#fff' : 'transparent', color: step >= s.n ? 'var(--ag-ink)' : 'rgba(255,255,255,0.6)', border:'1px solid '+(step >= s.n ? '#fff' : 'rgba(255,255,255,0.3)'), display:'flex', alignItems:'center', justifyContent:'center', fontFamily:'var(--ag-font-mono)', fontSize: 12, fontWeight: 600 }}>
{step > s.n ? : s.n}
= s.n ? '#fff' : 'rgba(255,255,255,0.5)', fontSize: 11 }}>{s.l}
{i < arr.length-1 &&
}
))}
{step === 1 && (
01 · The piece
What are you looking for?
{window.AG_DATA.brands.slice(0,10).map(b => (
setBrand(b)} className={`ag-chip${brand===b?' ag-chip--active':''}`}>{b}
))}
setModel(e.target.value)}/>
{['Kelly','Birkin','Constance','Mini Kelly','Picotin'].map(m => (
setModel(m)} className={`ag-chip${model===m?' ag-chip--active':''}`}>{m}
))}
{['Mini','25','28','32','35'].map(s => (
setSize(s)} className={`ag-chip${size===s?' ag-chip--active':''}`}>{s}
))}
)}
{step === 2 && (
02 · Specification
How exactly?
{colorOpts.map(c => (
setColor(c.id)} style={{ cursor:'pointer' }}>
{c.label}
))}
{['Palladium','Gold','Rose gold','Black hardware'].map(h => (
setHardware(h.toLowerCase())} className={`ag-chip${hardware===h.toLowerCase()?' ag-chip--active':''}`}>{h}
))}
{['New','Excellent','Very Good','Good'].map(c => (
setCond(c)} className={`ag-chip${cond===c?' ag-chip--active':''}`}>{c}
))}
20102026
)}
{step === 3 && (
03 · Budget & contact
At what number?
€{budget.toLocaleString()}
· ¥{Math.round(budget*161).toLocaleString()} JPY
setBudget(+e.target.value)} style={{ width:'100%', marginTop: 16, accentColor:'var(--ag-ink)' }}/>
)}
{step === 4 && (
Brief sent.
Your search is now live with 312 sellers who match your brand and region preferences. We'll message you the moment a piece surfaces.
Brief #AG-2026-04-21-1408 · est. first match in 7–14 days
)}
{step < 4 && (
{step > 1 &&
}
)}
{/* Live preview card */}
);
};
const Field = ({ label, children }) => (
);
window.DreamFinder = DreamFinder;