// Apricus — modale liste d'attente / prise de contact
function WaitlistModal({ open, onClose }) {
const [step, setStep] = React.useState(0);
const [form, setForm] = React.useState({ prenom: '', email: '', interet: 'sejour', message: '' });
const D = 'var(--font-display)';
React.useEffect(() => { if (open) { setStep(0); setForm({ prenom: '', email: '', interet: 'sejour', message: '' }); } }, [open]);
if (!open) return null;
const canSend = form.prenom.trim() && /.+@.+\..+/.test(form.email);
const interets = [
['sejour', 'Un séjour 2026'],
['menopause', 'Accompagnement ménopause'],
['suivi', 'Suivi individualisé'],
];
return (
e.stopPropagation()} style={{ width: 'min(540px, 100%)', maxHeight: '92vh', overflowY: 'auto',
background: 'var(--apr-linen)', borderRadius: 24, boxShadow: 'var(--shadow-lg)', position: 'relative' }}>
{step === 0 ? (
<>
Rejoindre Apricus
Faisons connaissance
Laissez-moi vos coordonnées — je vous écris en avant-première dès l'ouverture.
{interets.map(([id, label]) => {
const active = form.interet === id;
return (
);
})}
setForm({ ...form, prenom: v })} placeholder="Camille" />
setForm({ ...form, email: v })} placeholder="vous@exemple.fr" />
setForm({ ...form, message: v })} placeholder="Ce qui vous amène, vos envies…" />
>
) : (
À très vite, {form.prenom || 'chère vous'} !
C'est noté. Je vous écris très bientôt pour la suite, piano piano.
)}
{step === 0 ? (
) : (
)}
);
}
function BookingField({ label, value, onChange, placeholder, type, textarea }) {
const [focus, setFocus] = React.useState(false);
const base = {
width: '100%', boxSizing: 'border-box', fontFamily: 'var(--font-body)', fontSize: 15,
color: 'var(--apr-ink)', background: 'var(--apr-shell)', borderRadius: 12, padding: '12px 14px',
outline: 'none', resize: 'vertical',
border: `1.5px solid ${focus ? 'var(--apr-zest)' : 'var(--apr-line-strong)'}`,
boxShadow: focus ? '0 0 0 3px rgba(224,150,0,.18)' : 'none', transition: 'all .15s var(--ease-out)',
};
return (
{textarea
?
);
}
window.WaitlistModal = WaitlistModal;