fixed update password

This commit is contained in:
2025-11-28 10:33:53 -06:00
parent 0e5065bc55
commit 94b31e5bd3
8 changed files with 52 additions and 20 deletions
+40 -11
View File
@@ -14,17 +14,32 @@ export default function UpdateUserPage() {
const handleSubmit = async (e: React.FormEvent<HTMLFormElement>) => {
e.preventDefault();
if (!nombre || nombre.trim().length < 3) {
if (!nombre && !contrasenaV && !contrasenaN) {
toast.error("No hay cambios realizados");
return;
}
if (!nombre && !contrasenaV) {
toast.error("Coloca la contraseña actual");
return;
}
if (!nombre && !contrasenaV) {
toast.error("");
return;
}
if (nombre && nombre.trim().length < 3) {
toast.error("El nombre debe tener al menos 3 caracteres.");
return;
}
if (!contrasenaN || contrasenaN.length < 6) {
if (contrasenaN && contrasenaN.length < 5) {
toast.error("La nueva contraseña debe tener al menos 6 caracteres.");
return;
}
if (!contrasenaV || contrasenaV.length < 6) {
if (contrasenaV && contrasenaV.length < 5) {
toast.error("La contraseña actual debe tener al menos 6 caracteres.");
return;
}
@@ -34,20 +49,35 @@ export default function UpdateUserPage() {
const token = Cookies.get("token");
const headers = { Authorization: `Bearer ${token}` };
const body: any = {};
if (nombre && nombre.trim() !== "") {
body.nombre = nombre;
}
if (contrasenaN && contrasenaN.trim() !== "") {
body.contraseñaN = contrasenaN;
}
if (contrasenaV && contrasenaV.trim() !== "") {
body.contraseñaV = contrasenaV;
}
if (Object.keys(body).length === 0) {
toast.error("No hay campos para actualizar");
setLoading(false);
return;
}
const response = await axios.patch(
`${process.env.NEXT_PUBLIC_API_URL}/auth/update`,
{
nombre,
contrasenaN,
contrasenaV,
},
body,
{ headers }
);
toast.success("Usuario actualizado correctamente");
} catch (error: any) {
toast.error(error?.response?.data?.message || "Error al actualizar");
toast.error("Error al actualizar usuario");
} finally {
setLoading(false);
}
@@ -58,7 +88,6 @@ export default function UpdateUserPage() {
<div className="forgot-form-container">
<h1>Actualizar contraseña</h1>
<form onSubmit={handleSubmit} className="forgot-form">
<div>
<label>Nombre (opcional)</label>
<input
@@ -80,7 +109,7 @@ export default function UpdateUserPage() {
</div>
<div>
<label>Contraseña actual (opcional)</label>
<label>Contraseña actual </label>
<input
type="password"
placeholder="Contraseña actual"
+1 -1
View File
@@ -7,7 +7,7 @@
}
.pregunta-cuadro {
background-color: #fff;
border-left: 6px solid #003e79;
border-left: 10px solid #003e79;
border-radius: 8px;
padding: 15px;
font-size: 16px;
+1 -1
View File
@@ -88,7 +88,7 @@
.data-table_reporte {
display: flex;
flex-direction: column;
gap: 20px;
gap: 10px;
justify-content: center;
padding: 20px;
background-color: #f5f5f7;
+1 -1
View File
@@ -1,7 +1,7 @@
/* === Cuadro de la pregunta === */
.pregunta-cuadro {
background-color: #fff;
border-left: 6px solid #003e79;
border-left: 10px solid #003e79;
padding: 15px;
border-radius: 8px;
font-size: 16px;
@@ -14,7 +14,7 @@
.pregunta-cuadro {
background-color: #fff;
border-left: 6px solid #003e79;
border-left: 10px solid #003e79;
border-radius: 8px;
padding: 15px;
font-size: 16px;
@@ -19,7 +19,7 @@
.pregunta-cuadro_p1 {
background-color: #fff;
border-left: 6px solid #003e79;
border-left: 10px solid #003e79;
border-radius: 8px;
padding: 15px;
font-size: 16px;
@@ -8,7 +8,7 @@
.pregunta-cuadro_P3 {
background-color: #fff;
border-left: 6px solid #003e79;
border-left: 10px solid #003e79;
border-radius: 8px;
padding: 15px;
font-size: 16px;
+6 -3
View File
@@ -1,13 +1,16 @@
.pregunta-cuadro {
border-left: 6px solid #003e79;
border-left: 10px solid #003e79;
padding: 15px;
border-radius: 8px;
margin-top:10px ;
margin-bottom: 10px;
font-size: 16px;
}
.contenedor-pregunta{
display: flex;
flex-direction: column;
gap: 10px;
}
.tabla-contenedor {
background: white;