'use client'; import React, { useState } from "react"; import Link from "next/link"; import { useRouter } from "next/navigation"; export default function Register() { const router = useRouter(); const [firstname, setFirstname] = useState(''); const [lastname, setLastname] = useState(''); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [dob, setDob] = useState(''); const [error, setError] = useState(null); const [isSubmitting, setIsSubmitting] = useState(false); const handleSubmit = async (event: React.FormEvent) => { event.preventDefault(); setError(null); setIsSubmitting(true); try { const response = await fetch('/api/register', { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ firstname, lastname, email, password, dob, }), }); const data = await response.json(); if (!response.ok) { throw new Error(data.message || "Une erreur est survenue."); } router.push('/login'); } catch (err: any) { setError(err.message); } finally { setIsSubmitting(false); } }; return (
ImmoNext

Créer un compte

Déjà membre ?{' '} Connectez-vous

setFirstname(e.target.value)} className="mt-1 block w-full px-3 py-2 border border-gray-300 text-gray-700 rounded-md shadow-sm focus:outline-none focus:ring-gray-500 focus:border-gray-500" />
setLastname(e.target.value)} className="mt-1 block w-full px-3 py-2 border border-gray-300 text-gray-700 rounded-md shadow-sm focus:outline-none focus:ring-gray-500 focus:border-gray-500" />
setEmail(e.target.value)} className="mt-1 block w-full px-3 py-2 border border-gray-300 text-gray-700 rounded-md shadow-sm focus:outline-none focus:ring-gray-500 focus:border-gray-500" />
setPassword(e.target.value)} className="mt-1 block w-full px-3 py-2 border border-gray-300 text-gray-700 rounded-md shadow-sm focus:outline-none focus:ring-gray-500 focus:border-gray-500" />
setDob(e.target.value)} className="mt-1 block w-full px-3 py-2 border border-gray-300 text-gray-700 rounded-md shadow-sm focus:outline-none focus:ring-gray-500 focus:border-gray-500" />
{error &&

{error}

}
); }