Complete task javascript

This commit is contained in:
2023-07-21 21:49:55 +01:00
parent b02dfc0dac
commit 4a375149f6

View File

@@ -30,6 +30,7 @@ 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);
sessionStorage.setItem("name", data.name); sessionStorage.setItem("name", data.name);
sessionStorage.setItem("role", data.role); sessionStorage.setItem("role", data.role);
@@ -47,24 +48,26 @@ async function login() {
async function populateScreen() { async function populateScreen() {
// get task data // get task data
let taskPage = document.getElementById("tasks"); let taskPage = document.getElementById("tasks");
taskPage.innerHTML = "";
let response = await fetch("/getTasks"); let response = await fetch("/getTasks");
let tasksRaw = await response.json(); let tasksRaw = await response.json();
let tasks = tasksRaw.tasks; let tasks = tasksRaw.tasks;
// get historical data // get historical data
let historyPage = document.getElementById("history"); let historyPage = document.getElementById("history");
historyPage.innerHTML = "";
response = await fetch("/getHistory"); response = await fetch("/getHistory");
let historyRaw = await response.json(); let historyRaw = await response.json();
let history = historyRaw.history; let history = historyRaw.history;
for (let i = 0; i < tasks.length; i++) { for (let i = 0; i < tasks.length; i++) {
taskPage.innerHTML += ` taskPage.innerHTML += `
<div class="half"> <div id="${tasks[i].tid}" class="half" style="height: fit-content">
<article class="card"> <div class="button" onclick="completeTask(${tasks[i].tid})">
<header> <p id="taskName">${tasks[i].name}</p>
<p>${tasks[i].name}</p> <p id="${tasks[i].tid}-p">${tasks[i].points} points</p>
<p>${tasks[i].points}</p> </div>
</header>
</article>
</div>` </div>`
} }
for (let i = (history.length -1); i >= 0; i-=1) { for (let i = (history.length -1); i >= 0; i-=1) {
@@ -82,7 +85,26 @@ async function populateScreen() {
} }
} }
function switchScreen(button) { async function completeTask(taskID) {
let points = document.getElementById(`${taskID}-p`).innerText;
let time = new Date().toISOString().split(".")[0];
let uid = sessionStorage.getItem("uid");
let response = await fetch("/completeTask", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
uid: Number(uid),
tid: Number(taskID),
time: time,
pointsGained: Number(points)
})
});
}
async function switchScreen(button) {
await populateScreen();
document.getElementById("tasks").setAttribute("style", "display: none;"); document.getElementById("tasks").setAttribute("style", "display: none;");
document.getElementById("history").setAttribute("style", "display: none;"); document.getElementById("history").setAttribute("style", "display: none;");
document.getElementById("addTask").setAttribute("style", "display: none;"); document.getElementById("addTask").setAttribute("style", "display: none;");