import React, { useState, useEffect } from 'react'; import { useNavigate, useLocation, Link } from 'react-router-dom'; import { Hexagon, Lock, ArrowRight, Loader2, CheckCircle2, AlertCircle, User } from 'lucide-react'; import { resetPassword } from '../services/dataService'; export const ResetPassword: React.FC = () => { const navigate = useNavigate(); const location = useLocation(); const query = new URLSearchParams(location.search); const token = query.get('token') || ''; const [name, setName] = useState(''); const [password, setPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [isLoading, setIsLoading] = useState(false); const [isSuccess, setIsSuccess] = useState(false); const [error, setError] = useState(''); 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, name); setIsSuccess(true); setTimeout(() => navigate('/login'), 3000); } catch (err: any) { setError(err.message || 'Erro ao redefinir senha. O link pode estar expirado.'); } finally { setIsLoading(false); } }; return (
Seu perfil foi atualizado com sucesso. Redirecionando para o login...