// Evitar el reenvío del formulario si la página se recarga if (window.history.replaceState) { window.history.replaceState(null, null, window.location.href); } // Mostrar/ocultar la contraseña $(function() { $(".toggle-password").click(function() { $(this).toggleClass("fa-eye fa-eye-slash"); const type = $(this).hasClass("fa-eye-slash") ? "text" : "password"; $("#password").attr("type", type); }); }); // Manejar el envío del formulario de inicio de sesión $(function() { $('.login-button').on('click', function(e) { e.preventDefault(); e.stopPropagation(); const button = $(this); const buttonOriginal = button.html(); const username = $("#username").val().trim(); const password = $("#password").val().trim(); const loginResponse = $("#login-response"); // Cambiar el texto del botón a "Conectando..." changeButton(button, 'Conectando'); // Validar si los campos están vacíos if (username === "" || password === "") { loginResponse.html('Por favor rellene todos los campos.'); loginResponse.hide().slideDown(); // Limpiar el mensaje y restaurar el botón después de 5 segundos setTimeout(function() { loginResponse.slideUp(function() { loginResponse.empty(); restoreButton(button, buttonOriginal); }); }, 5000); return; } // Serializar datos para el envío const bValue = button.data('id'); let data = { login: bValue }; data = $("#nw-login-form").serialize() + '&' + $.param(data); $.ajax({ type: 'POST', url: '', data: data, dataType: 'json', success: function(response) { loginResponse.hide().empty(); if (response.success === true) { // Si el inicio de sesión es exitoso button.html("Conectado"); button.css("color", "#d79602"); // Mostrar mensaje de conexión exitosa loginResponse.html('Conexión exitosa.
Redirigiendo...
'); loginResponse.hide().slideDown(); // Redirigir después de 3 segundos setTimeout(function() { window.location = "my-account"; }, 3000); } else if (response.alert === true) { button.html("Sancionado"); } else if (response.locked === true) { button.html("Seguridad"); } else { // Mostrar mensaje para credenciales incorrectas loginResponse.html('Nombre de usuario / Contraseña incorrectos.'); loginResponse.hide().slideDown(); // Restaurar el botón y ocultar el mensaje después de 5 segundos setTimeout(function() { loginResponse.slideUp(function() { loginResponse.empty(); restoreButton(button, buttonOriginal); }); }, 5000); } }, error: function() { setTimeout(function() { alert("Algo ha salido mal. Por favor intente más tarde"); window.location.reload(); }, 2000); } }); }); }); // Función para cambiar el estado del botón a "Conectando" function changeButton(button, text) { button.html(text); button.prop("disabled", true); button.css({ "color": "rgb(177, 153, 127)", "background-color": "rgba(255, 255, 255, 0.1)", "cursor": "default" }); } // Función para restaurar el estado original del botón function restoreButton(button, originalText) { button.html(originalText); button.prop("disabled", false); button.css({ "color": "", "background-color": "", "cursor": "" }); }