);
}
function Features() {
const features = [
{ icon: , title: 'WhatsApp natif', desc: 'Pas d\'application à installer. Reçois tes leçons audio et exercices directement dans WhatsApp.' },
{ icon: , title: 'Parcours structurés', desc: 'Des formations multi-jours conçues pour les entrepreneurs de l\'informel au Sénégal.' },
{ icon: , title: 'Dossier IA', desc: 'À la fin de ta formation, l\'IA génère automatiquement ton One-Pager PDF et ton Pitch Deck.' },
];
return (
Comment ça marche
Une expérience d'apprentissage conçue pour les entrepreneurs mobiles.
{features.map((f, i) => (
{f.icon}
{f.title}
{f.desc}
))}
);
}
// ── Student Portal ────────────────────────────────────────────────────────────────
function StudentPortal() {
const navigate = useNavigate();
const [phone, setPhone] = useState('');
const [loading, setLoading] = useState(false);
const [error, setError] = useState('');
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
setError(''); setLoading(true);
const cleaned = phone.replace(/\s+/g, '').replace(/^\+/, '');
try {
const res = await fetch(`${API_URL}/v1/student/me?phone=${cleaned}`);
if (res.ok) {
navigate(`/student/${cleaned}`);
} else if (res.status === 404) {
setError('Numéro non trouvé. Envoie INSCRIPTION sur WhatsApp pour t\'inscrire.');
} else {
setError('Erreur serveur. Réessaie dans un moment.');
}
} catch {
setError('Impossible de joindre le serveur.');
} finally { setLoading(false); }
};
return (
Mon espace étudiant
Entre ton numéro WhatsApp pour voir ta progression.