import React, { useState, useEffect } from 'react'; import { useNavigate, Link } from 'react-router-dom'; import { Hexagon, ShieldCheck, ArrowRight, Loader2 } from 'lucide-react'; import { verifyCode } from '../services/dataService'; export const VerifyCode: React.FC = () => { const navigate = useNavigate(); const [isLoading, setIsLoading] = useState(false); const [code, setCode] = useState(''); const [error, setError] = useState(''); const [email, setEmail] = useState(''); useEffect(() => { const storedEmail = localStorage.getItem('pending_verify_email'); if (!storedEmail) { navigate('/register'); } else { setEmail(storedEmail); } }, [navigate]); const handleVerify = async (e: React.FormEvent) => { e.preventDefault(); setIsLoading(true); setError(''); try { const success = await verifyCode({ email, code }); if (success) { localStorage.removeItem('pending_verify_email'); alert('Conta verificada com sucesso! Agora você pode fazer login.'); navigate('/login'); } } catch (err: any) { setError(err.message || 'Código inválido ou expirado.'); } finally { setIsLoading(false); } }; return (
Fasto.

Verifique seu e-mail

Enviamos um código de 6 dígitos para {email}. Por favor, insira-o abaixo.

setCode(e.target.value.replace(/\D/g, ''))} className="block w-full text-center text-3xl tracking-[0.5em] font-bold py-3 border border-slate-300 rounded-lg bg-slate-50 focus:outline-none focus:ring-2 focus:ring-blue-100 focus:border-blue-500 transition-all" placeholder="000000" />
{error && (
{error}
)}
); };