Files
GiacPoints/frontend/index.js

53 lines
2.0 KiB
JavaScript

async function login() {
// this.preventDefault();
// get login details
let name = document.getElementById("name").value;
let password = document.getElementById("password").value;
// request login
let response = await fetch("/login", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
name: name,
password: password
})
});
// if failed red button
// else switch screen
if (response.status !== 200) {
document.getElementById("loginSubmit").classList.add("error");
} else {
// switch screen
document.getElementById("login").setAttribute("style", "display: none;");
document.getElementById("mainPage").setAttribute("style", "");
}
// store user data in session storage
let data = await response.json();
sessionStorage.setItem("name", data.name);
sessionStorage.setItem("role", data.role);
// if role is admin, keep auto styling
if (sessionStorage.getItem("role") !== "admin") {
document.getElementById("addButton").setAttribute("style", "display: none;");
document.getElementById("taskButton").classList.value = "half";
document.getElementById("historyButton").classList.value = "half";
document.getElementById("menu").classList.value = "flex two";
}
}
function switchScreen(button) {
document.getElementById("tasks").setAttribute("style", "display: none;");
document.getElementById("history").setAttribute("style", "display: none;");
document.getElementById("addTask").setAttribute("style", "display: none;");
if (button === "task") {
document.getElementById("tasks").setAttribute("style", "");
} else if (button === "history") {
document.getElementById("history").setAttribute("style", "");
} else if (button === "add") {
document.getElementById("addTask").setAttribute("style", "");
}
}