Compare commits

...

1 Commits

Author SHA1 Message Date
479044d4ea Added quickLog™ 2023-07-29 20:41:17 +01:00
2 changed files with 33 additions and 9 deletions

View File

@@ -8,7 +8,6 @@
<link rel="stylesheet" href="/frontend/index.css"> <link rel="stylesheet" href="/frontend/index.css">
</head> </head>
<body> <body>
<script src="/frontend/index.js"></script>
<div id="login"> <div id="login">
<div class="flex three demo" style="height: 100%; width: 100%"> <div class="flex three demo" style="height: 100%; width: 100%">
<div class="fourth two-fifth-1000"></div> <div class="fourth two-fifth-1000"></div>
@@ -66,5 +65,6 @@
</div> </div>
</div> </div>
</div> </div>
<script src="/frontend/index.js"></script>
</body> </body>
</html> </html>

View File

@@ -1,3 +1,7 @@
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function login() { async function login() {
// tell the user the app is loading // tell the user the app is loading
document.getElementById("loginSubmit").value = "Loading"; document.getElementById("loginSubmit").value = "Loading";
@@ -30,12 +34,12 @@ async function login() {
// store user data in session storage // store user data in session storage
let data = await response.json(); let data = await response.json();
sessionStorage.setItem("uid", data.uid); localStorage.setItem("uid", data.uid);
sessionStorage.setItem("name", data.name); localStorage.setItem("name", data.name);
sessionStorage.setItem("role", data.role); localStorage.setItem("role", data.role);
// if role is admin, keep auto styling // if role is admin, keep auto styling
if (sessionStorage.getItem("role") !== "admin") { if (localStorage.getItem("role") !== "admin") {
document.getElementById("addButton").setAttribute("style", "display: none;"); document.getElementById("addButton").setAttribute("style", "display: none;");
document.getElementById("taskButton").classList.value = "half"; document.getElementById("taskButton").classList.value = "half";
document.getElementById("historyButton").classList.value = "half"; document.getElementById("historyButton").classList.value = "half";
@@ -69,7 +73,7 @@ async function populateScreen() {
// if it is a user make the tasks add points // if it is a user make the tasks add points
// or if admin make it do nothing // or if admin make it do nothing
if (sessionStorage.getItem("role") === "user") { if (localStorage.getItem("role") === "user") {
try { try {
for (let i = 0; i < tasks.length; i++) { for (let i = 0; i < tasks.length; i++) {
taskPage.innerHTML += ` taskPage.innerHTML += `
@@ -83,7 +87,7 @@ async function populateScreen() {
} catch (e) { } catch (e) {
taskPage.innerHTML +=`<sub>such empty</sub>` taskPage.innerHTML +=`<sub>such empty</sub>`
} }
} else if (sessionStorage.getItem("role") === "admin") { } else if (localStorage.getItem("role") === "admin") {
try { try {
for (let i = 0; i < tasks.length; i++) { for (let i = 0; i < tasks.length; i++) {
taskPage.innerHTML += ` taskPage.innerHTML += `
@@ -127,7 +131,7 @@ async function populateScreen() {
async function completeTask(taskID) { async function completeTask(taskID) {
let points = document.getElementById(`${taskID}-p`).innerText.split(" ")[0]; let points = document.getElementById(`${taskID}-p`).innerText.split(" ")[0];
let time = new Date().toISOString().split(".")[0]; let time = new Date().toISOString().split(".")[0];
let uid = sessionStorage.getItem("uid"); let uid = localStorage.getItem("uid");
await fetch("/completeTask", { await fetch("/completeTask", {
method: "POST", method: "POST",
headers: { headers: {
@@ -173,4 +177,24 @@ async function newTask() {
}); });
points.value = ""; points.value = "";
name.value = ""; name.value = "";
} }
async function fastLog() {
sleep(500);
if (localStorage.getItem("uid") != null && localStorage.getItem("name") != null && localStorage.getItem("role") != null) {
document.getElementById("login").setAttribute("style", "display: none;");
document.getElementById("mainPage").setAttribute("style", "");
if (localStorage.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";
}
await populateScreen();
} else {
// do nothing
}
}
fastLog();