pianello-api/resources/js/pages/login/index.js
Ale Gallo 82f958e5da Committing laravel (part 3)
committing js templating files and components
2023-11-10 16:00:59 +01:00

53 lines
1.6 KiB
JavaScript

(function () {
"use strict";
async function login() {
// Reset state
$("#login-form").find(".login__input").removeClass("border-danger");
$("#login-form").find(".login__input-error").html("");
// Post form
let email = $("#email").val();
let password = $("#password").val();
// Loading state
$("#btn-login").html(
'<i data-loading-icon="oval" data-color="white" class="w-5 h-5 mx-auto"></i>'
);
tailwind.svgLoader();
await helper.delay(1500);
axios
.post(`login`, {
email: email,
password: password,
})
.then((res) => {
location.href = "/";
})
.catch((err) => {
$("#btn-login").html("Login");
if (err.response.data.message != "Wrong email or password.") {
for (const [key, val] of Object.entries(
err.response.data.errors
)) {
$(`#${key}`).addClass("border-danger");
$(`#error-${key}`).html(val);
}
} else {
$(`#password`).addClass("border-danger");
$(`#error-password`).html(err.response.data.message);
}
});
}
$("#login-form").on("keyup", function (e) {
if (e.keyCode === 13) {
login();
}
});
$("#btn-login").on("click", function () {
login();
});
})();