"use client"; import { useState } from "react"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { createClient } from "@/lib/supabase/client"; import Button from "@/components/ui/Button"; import Input from "@/components/ui/Input"; export default function RegisterPage() { const router = useRouter(); const [fullName, setFullName] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [confirmPassword, setConfirmPassword] = useState(""); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); const handleRegister = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(null); if (password !== confirmPassword) { setError("Les mots de passe ne correspondent pas."); setLoading(false); return; } if (password.length < 8) { setError("Le mot de passe doit contenir au moins 8 caractères."); setLoading(false); return; } try { const supabase = createClient(); const { error: authError } = await supabase.auth.signUp({ email, password, options: { data: { full_name: fullName, }, }, }); if (authError) { if (authError.message.includes("already registered")) { setError("Un compte avec cet email existe déjà."); } else { setError(authError.message); } return; } router.push("/dashboard"); router.refresh(); } catch { setError("Erreur lors de l'inscription. Veuillez réessayer."); } finally { setLoading(false); } }; return (
{/* Logo */}
H
HookLab

Créer ton compte

Inscris-toi pour accéder au programme.

{/* Form */}
setFullName(e.target.value)} required /> setEmail(e.target.value)} required /> setPassword(e.target.value)} required /> setConfirmPassword(e.target.value)} required /> {error && (

{error}

)}

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

); }