// app/register/page.tsx "use client" import { useState } from "react" import { useRouter } from "next/navigation" import { signIn } from "next-auth/react" import Link from "next/link" export default function RegisterPage() { const router = useRouter() const [formData, setFormData] = useState({ name: "", email: "", password: "", confirmPassword: "" }) const [loading, setLoading] = useState(false) const [error, setError] = useState("") const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setLoading(true) setError("") // Validações if (formData.password !== formData.confirmPassword) { setError("As senhas não coincidem") setLoading(false) return } if (formData.password.length < 6) { setError("A senha deve ter pelo menos 6 caracteres") setLoading(false) return } try { // Registrar usuário const response = 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 response.json() if (!response.ok) { throw new Error(data.error || "Erro ao criar conta") } // Fazer login automático const result = await signIn("credentials", { email: formData.email, password: formData.password, redirect: false }) if (result?.error) { setError("Conta criada! Faça login para continuar") setTimeout(() => router.push("/login"), 2000) } else { router.push("/dashboard") } } catch (err: any) { setError(err.message) } finally { setLoading(false) } } return (

🚀 PDIMaker

Criar nova conta

setFormData({ ...formData, name: e.target.value })} required style={{ width: "100%", padding: "0.75rem", border: "1px solid #e2e8f0", borderRadius: "0.375rem", fontSize: "1rem" }} />
setFormData({ ...formData, email: e.target.value })} required style={{ width: "100%", padding: "0.75rem", border: "1px solid #e2e8f0", borderRadius: "0.375rem", fontSize: "1rem" }} />
setFormData({ ...formData, password: e.target.value })} required minLength={6} style={{ width: "100%", padding: "0.75rem", border: "1px solid #e2e8f0", borderRadius: "0.375rem", fontSize: "1rem" }} />
setFormData({ ...formData, confirmPassword: e.target.value })} required minLength={6} style={{ width: "100%", padding: "0.75rem", border: "1px solid #e2e8f0", borderRadius: "0.375rem", fontSize: "1rem" }} />
{error && (
{error}
)}
Já tem uma conta?{" "} Fazer login

Powered By{" "} Sergio Correa

) }