summaryrefslogtreecommitdiffstats
path: root/js/login.js
blob: 6a68d98072e22db92713e61839f2e4fd0147dcc6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
const API_ENDPOINT = "https://gimb.tk/test.php";
// const API_ENDPOINT = "http://localhost:5000/test.php";

document.addEventListener("DOMContentLoaded", () => {
    setupEventListeners();
})

function setupEventListeners() {
    // Setup login button listener
    $("#login-button").click(function () {
        login();
    });
	window.addEventListener("keyup", function(event) {
	  // Number 13 is the "Enter" key on the keyboard
	  if (event.keyCode === 13) {
	    // Cancel the default action, if needed
	    event.preventDefault();
	    login();
	  }
	});
}

// Handle login button click
function login() {
    // Get text input values
    let username = $("#username").val();
    let password = $("#password").val();

    // Make a request
    $.ajax({
        url: API_ENDPOINT,
        crossDomain: true,

        data: {
            "u": username,
            "p": password,
            "m": "fetchprofil"
        },
        dataType: "json",

        cache: false,
        type: "GET",

        success: function (data) {

            // If ime is null, the password was incorrect
            if (data["ime"] === null) {
                M.toast({ html: "Login failed!" });
                $("#password").val("");
            } else {

                let promises_to_run = [
                    localforage.setItem("logged_in", true),
                    localforage.setItem("username", username),
                    localforage.setItem("password", password)
                ];
                Promise.all(promises_to_run).then(function () {
                    window.location.replace("/pages/timetable.html");
                });

            }
        },

        error: function () {
            M.toast({ html: "No internet connection!" });
        }

    })
}