"use client"; import { useState } from "react"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { useAuth } from "@/contexts/AuthContext"; import { registerSchema, RegisterFormData } from "@/lib/validations"; import Link from "next/link"; import TeaIconsBackground from "@/components/TeaIconsBackground"; import { ROUTES } from "@/utils/constants"; export default function RegisterPage() { const { register: registerUser } = useAuth(); const [isSubmitting, setIsSubmitting] = useState(false); const [showPassword, setShowPassword] = useState(false); const [showConfirmPassword, setShowConfirmPassword] = useState(false); const [animationKey] = useState(Date.now()); const { register, handleSubmit, formState: { errors }, } = useForm({ resolver: zodResolver(registerSchema), }); const onSubmit = async (data: RegisterFormData) => { setIsSubmitting(true); try { await registerUser(data); } catch (error) { console.error("Registration error:", error); } finally { setIsSubmitting(false); } }; return (
{/* Title */}

Inscription

Créez un compte pour participer au jeu-concours

{/* Main Card */}
{/* Tabs */}
Connexion
{/* Form Container */}
{/* Registration Form */}
{/* Prénom et Nom */}
{errors.firstName && (

{errors.firstName.message}

)}
{errors.lastName && (

{errors.lastName.message}

)}
{/* Email */}
{errors.email && (

{errors.email.message}

)}
{/* Téléphone */}

Optionnel - Format: 06 12 34 56 78

{errors.phone && (

{errors.phone.message}

)}
{/* Mot de passe */}

Min. 8 caractères, 1 majuscule, 1 minuscule, 1 chiffre

{errors.password && (

{errors.password.message}

)}
{/* Confirmer mot de passe */}
{errors.confirmPassword && (

{errors.confirmPassword.message}

)}
{/* Checkbox CGU */}
{/* Submit Button */}
); }