import { useState } from 'react'; import { useAuth } from '../hooks/useAuth'; import { useNavigate } from 'react-router-dom'; const RegisterPage = () => { const { register } = useAuth(); const navigate = useNavigate(); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [email, setEmail] = useState(''); const [nombreCompleto, setNombreCompleto] = useState(''); const [error, setError] = useState(null); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(null); setLoading(true); try { await register({ username, password, email, nombreCompleto }); navigate('/dashboard', { replace: true }); } catch (err) { // Handle 409 Conflict for duplicate username/email if (err instanceof Error && err.message?.includes('409')) { setError('El usuario o correo electrónico ya existe'); } else if (err instanceof Error) { setError(err.message || 'Error al registrarse'); } else { setError('Error al registrarse'); } } finally { setLoading(false); } }; return (

Crear cuenta

Regístrate para acceder a la aplicación

setUsername(e.target.value)} />
setEmail(e.target.value)} />
setNombreCompleto(e.target.value)} />
setPassword(e.target.value)} />
{error && (

{error}

)}

¿Ya tienes una cuenta?{' '} Iniciar sesión

); }; export default RegisterPage;