// app/reset-password/page.tsx "use client" import { useState, useEffect } from "react" import { useSearchParams, useRouter } from "next/navigation" import Link from "next/link" import { Suspense } from "react" export const dynamic = 'force-dynamic' function ResetPasswordForm() { const router = useRouter() const searchParams = useSearchParams() const token = searchParams.get("token") const [password, setPassword] = useState("") const [confirmPassword, setConfirmPassword] = useState("") const [loading, setLoading] = useState(false) const [error, setError] = useState("") const [success, setSuccess] = useState(false) useEffect(() => { if (!token) { setError("Token não fornecido") } }, [token]) const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setLoading(true) setError("") if (!token) { setError("Token não fornecido") setLoading(false) return } if (password !== confirmPassword) { setError("As senhas não coincidem") setLoading(false) return } if (password.length < 6) { setError("A senha deve ter pelo menos 6 caracteres") setLoading(false) return } try { const response = await fetch("/api/auth/reset-password", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ token, password }) }) const data = await response.json() if (!response.ok) { throw new Error(data.error || "Erro ao redefinir senha") } setSuccess(true) setTimeout(() => { router.push("/login") }, 2000) } catch (err: any) { setError(err.message) } finally { setLoading(false) } } if (success) { return (

Senha redefinida com sucesso!

Redirecionando para o login...

Ir para Login
) } return (

🔐 Redefinir Senha

Digite sua nova senha

setPassword(e.target.value)} required minLength={6} style={{ width: "100%", padding: "0.75rem", border: "1px solid #e2e8f0", borderRadius: "0.375rem", fontSize: "1rem" }} />
setConfirmPassword(e.target.value)} required minLength={6} style={{ width: "100%", padding: "0.75rem", border: "1px solid #e2e8f0", borderRadius: "0.375rem", fontSize: "1rem" }} />
{error && (
{error}
)}
← Voltar para Login
) } export default function ResetPasswordPage() { return (
Carregando...
}>
) }