import React, { useState, useEffect } from 'react'; import { useNavigate, useLocation, Link } from 'react-router-dom'; import { Hexagon, Lock, ArrowRight, Loader2, CheckCircle2, AlertCircle } from 'lucide-react'; import { resetPassword } from '../services/dataService'; export const ResetPassword: React.FC = () => { const navigate = useNavigate(); const location = useLocation(); const [isLoading, setIsLoading] = useState(false); const [password, setPassword] = useState(''); const [confirmPassword, setPasswordConfirm] = useState(''); const [error, setError] = useState(''); const [isSuccess, setIsSuccess] = useState(false); const [token, setToken] = useState(''); useEffect(() => { const params = new URLSearchParams(location.search); const t = params.get('token'); if (!t) { setError('Token de recuperação ausente.'); } else { setToken(t); } }, [location]); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); if (password !== confirmPassword) { setError('As senhas não coincidem.'); return; } setIsLoading(true); setError(''); try { await resetPassword(password, token); setIsSuccess(true); setTimeout(() => navigate('/login'), 3000); } catch (err: any) { setError(err.message || 'Erro ao redefinir senha.'); } finally { setIsLoading(false); } }; return (
Escolha uma senha forte para sua segurança.
Sua senha foi redefinida. Redirecionando para o login...