"use client"; import React, { useState } from 'react'; import { useRouter } from 'next/navigation'; import Link from 'next/link'; import { User, Mail, Lock, ArrowRight, CheckCircle, AlertCircle } from 'lucide-react'; const RegisterPage = () => { const router = useRouter(); const [formData, setFormData] = useState({ name: '', email: '', password: '', confirmPassword: '' }); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const [success, setSuccess] = useState(false); const handleChange = (e: React.ChangeEvent) => { setFormData({ ...formData, [e.target.name]: e.target.value }); setError(''); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(''); if (formData.password !== formData.confirmPassword) { setError('Les mots de passe ne correspondent pas'); setLoading(false); return; } try { const res = await fetch('/api/auth/register', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: formData.name, email: formData.email, password: formData.password }), }); const data = await res.json(); if (!res.ok) { throw new Error(data.error || "Une erreur est survenue"); } setSuccess(true); setTimeout(() => { router.push('/login'); }, 2000); } catch (err: any) { setError(err.message); } finally { setLoading(false); } }; return (
A

Rejoignez l'aventure

Créez votre compte pour propulser votre entreprise

{success ? (

Compte créé !

Redirection vers la page de connexion...

) : (
{error && (

{error}

)}

Déjà un compte ?{' '} Se connecter

)}

Afropreunariat © 2026

); }; export default RegisterPage;