From 3f4c0720e1e3421431e7baa20882a4a4512a7fab Mon Sep 17 00:00:00 2001 From: ivar Date: Sun, 19 Oct 2025 23:41:23 +0200 Subject: Initial --- src/wwwroot/scripts/login.js | 76 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 src/wwwroot/scripts/login.js (limited to 'src/wwwroot/scripts/login.js') diff --git a/src/wwwroot/scripts/login.js b/src/wwwroot/scripts/login.js new file mode 100644 index 0000000..247301b --- /dev/null +++ b/src/wwwroot/scripts/login.js @@ -0,0 +1,76 @@ +$("#login-form").on("submit", function(e) { + let form = $(this); + let errorMessage = $("#error"); + errorMessage.hide(); + form.addClass("loading"); + let values = form.form("get values"); + if (!values) { + errorMessage.text("En feil oppstod, vennligst prøv igjen senere"); + errorMessage.show(); + form.removeClass("loading"); + return; + } + if (!values.username || !values.password) { + errorMessage.text("Ett eller flere felt er ikke fylt inn."); + errorMessage.show(); + form.removeClass("loading"); + return; + } + + if (!$.isEmail(values.username)) { + errorMessage.text("Det ser ikke ut som e-postadresse."); + errorMessage.show(); + form.removeClass("loading"); + return; + } + let requestVerificationToken = values.__RequestVerificationToken; + delete values.__RequestVerificationToken; + $.ajax({ + method: "post", + url: "/api/account/login", + data: JSON.stringify(values), + processData: false, + contentType: "application/json", + beforeSend: function(xhr) { + xhr.setRequestHeader( + "RequestVerificationToken", + requestVerificationToken + ); + }, + success: function() { + location.replace("/app"); + }, + error: function(e) { + console.error(e); + form.removeClass("loading"); + if (e.status === 400 && e.responseJSON) { + errorMessage.text(e.responseJSON); + errorMessage.show(); + } else { + errorMessage.text( + "Kunne ikke logge deg inn, vennligst prøv igjen senere" + ); + errorMessage.show(); + } + } + }); +}); +let forgotModal = $("#forgot-form-modal"); +$("#forgot-pass-link").on("click", function () { + forgotModal.modal("show") +}); + +$("#forgot-form").on("submit", function(e) { + let email = $("#forgot-email").val(); + if (!$.isEmail(email)) return; + $.ajax({ + url: "/api/account/forgot?email=" + email, + success: function (e) { + $.notificate("Suksess", "Hvis vi finner deg i våre systemer får du straks ett nytt passord på mail.", "success"); + forgotModal.modal("hide") + }, + error: function (e) { + $.notificate("En feil oppstod", "Vennligts prøv igjen senere", "error"); + } + }); +}); -- cgit v1.3