From 94b31e5bd389a871ee721decd11ca9268c0dda79 Mon Sep 17 00:00:00 2001 From: IO420 <320154041@pcpuma.acatlan.unam.mx> Date: Fri, 28 Nov 2025 10:33:53 -0600 Subject: [PATCH] fixed update password --- src/app/(Operador)/cambiarPass/page.tsx | 51 +++++++++++++++---- src/app/styles/layout/pregunta7.scss | 2 +- src/app/styles/layout/reporte.scss | 2 +- src/components/Equipo_Computo/pregunta10.css | 2 +- .../Equipo_Computo/pregunta1_1.module.scss | 2 +- .../Equipo_Computo/pregunta2.module.scss | 2 +- .../Equipo_Computo/pregunta3.module.scss | 2 +- src/components/Equipo_Computo/pregunta9.css | 9 ++-- 8 files changed, 52 insertions(+), 20 deletions(-) diff --git a/src/app/(Operador)/cambiarPass/page.tsx b/src/app/(Operador)/cambiarPass/page.tsx index 94d188c..f97c8a6 100644 --- a/src/app/(Operador)/cambiarPass/page.tsx +++ b/src/app/(Operador)/cambiarPass/page.tsx @@ -14,17 +14,32 @@ export default function UpdateUserPage() { const handleSubmit = async (e: React.FormEvent) => { 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() {

Actualizar contraseña

-
- +