async function run() { let votes = await fetch("/admin/data/votes").then(r => r.json()); let today = document.getElementById("votes_number"); let count = await fetch("/data/votes").then(r => r.json()); today.textContent = `Aujourd'hui il y a ${count.length} votes`; let votesDiv = document.getElementById("votes"); for (let i = 0; i < votes.length; i++) { let vote = votes[i]; let item = document.createElement("div"); item.style.display = "flex"; let id = document.createElement("p"); id.textContent = vote["id"]; let submit_date = document.createElement("input"); submit_date.value = vote["submit_date"]; let plus_id = document.createElement("input"); plus_id.type = "number"; plus_id.value = vote["plus_player_id"]; let plus_nickname = document.createElement("input"); plus_nickname.value = vote["plus_nickname"]; let plus_reason = document.createElement("textarea"); plus_reason.value = vote["plus_reason"]; plus_reason.style.width = "500px"; plus_reason.style.height = "100px"; plus_reason.style.whiteSpace = "pre-line"; let minus_id = document.createElement("input"); minus_id.type = "number"; minus_id.value = vote["minus_player_id"]; let minus_nickname = document.createElement("input"); minus_nickname.value = vote["minus_nickname"]; let minus_reason = document.createElement("textarea"); minus_reason.value = vote["minus_reason"]; minus_reason.style.whiteSpace = "pre-line"; minus_reason.style.width = "500px"; minus_reason.style.height = "100px"; let edit = document.createElement("button"); edit.textContent = "Edit"; let del = document.createElement("button"); del.textContent = "Delete"; item.append(id, submit_date, plus_id, plus_nickname, plus_reason, minus_id, minus_nickname, minus_reason, edit, del); votesDiv.append(item); edit.addEventListener("click", async () => { await fetch("/admin/edit/vote", { method: "POST", body: JSON.stringify({ "id": votes[i]["id"], "submit_date": submit_date.value, "plus_player_id": parseInt(plus_id.value), "plus_nickname": plus_nickname.value, "plus_reason": plus_reason.value, "minus_player_id": parseInt(minus_id.value), "minus_nickname": minus_nickname.value, "minus_reason": minus_reason.value }) }); window.location.reload(); }) del.addEventListener("click", async () => { if (confirm("Delete item?")) { await fetch("/admin/delete/vote", { method: "POST", body: JSON.stringify({ "id": votes[i]["id"] }) }); window.location.reload(); } }) } } let _ = run();