summaryrefslogtreecommitdiffstats
path: root/src/wwwroot/scripts/login.js
diff options
context:
space:
mode:
authorivar <i@oiee.no>2025-10-19 23:41:23 +0200
committerivar <i@oiee.no>2025-10-19 23:41:23 +0200
commit3f4c0720e1e3421431e7baa20882a4a4512a7fab (patch)
tree734ca81d7d0841d8863e3f523ebba14c282dc681 /src/wwwroot/scripts/login.js
downloadfagprove-master.tar.xz
fagprove-master.zip
InitialHEADmaster
Diffstat (limited to 'src/wwwroot/scripts/login.js')
-rw-r--r--src/wwwroot/scripts/login.js76
1 files changed, 76 insertions, 0 deletions
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");
+ }
+ });
+});