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

{error}

}
); }