import React, { useState } from 'react'; import logo from '../assets/react.svg'; import { useParams, useNavigate } from 'react-router-dom'; export default function PasswordResetConfirm() { const { uid, token } = useParams(); const [newPassword, setNewPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [loading, setLoading] = useState(false); const [success, setSuccess] = useState(false); const [error, setError] = useState(''); const navigate = useNavigate(); const handleSubmit = async (e) => { e.preventDefault(); setError(''); if (newPassword !== confirmPassword) { setError('Las contraseñas no coinciden.'); return; } setLoading(true); try { // POST a la ruta real del backend (URL absoluta) const apiUrl = `http://192.168.1.195:8000/api/v1/user/password-reset-confirm/${uid}/${token}/`; const res = await fetch(apiUrl, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ password: newPassword }), }); if (!res.ok) { const data = await res.json().catch(() => ({})); setError(data.detail || 'No se pudo cambiar la contraseña.'); } else { setSuccess(true); setTimeout(() => navigate('/login'), 2500); } } catch (err) { setError('Error de red. Intenta de nuevo.'); } setLoading(false); }; return (
Ingresa tu nueva contraseña y confírmala
Desarrollado por @AduanaSoft
Solución especializada para Agentes Aduanales