import { postData, verifyLogin } from "./client.js"; import { formatSalary } from "./utils.js"; const token = window.localStorage.getItem("token"); if (!token) { window.location.href = "/login"; } const highest = document.querySelector("#highest"); updateHighest(); updateFavorites(); updatePaydirt(); updateOffense(); window.addEventListener("pageshow", e => { if (e.persisted) { updateFavorites(); } }) async function updateOffense() { if (!verifyLogin()) return; const offenseHeader = document.querySelector("#offense thead"); const offenseBody = document.querySelector("#offense tbody"); let resultObject = await postData("/getHighestOffense", { amount: 100 }, token); console.log(resultObject); if (resultObject.matches.length === 0) { alert("Error loading scores"); return; } offenseHeader.innerHTML = ""; const headerRow = document.createElement("tr"); //Object.keys(resultObject.matches[0]).forEach(attribute => { // headerRow.innerHTML += `${attribute}`; //}); headerRow.innerHTML = ` Rank Position Name Team Offense Score `; offenseHeader.appendChild(headerRow); offenseBody.innerHTML = ""; let i = 0; resultObject.matches.forEach(player => { i++; const row = document.createElement("tr"); row.innerHTML = ` ${i} ${player.Position} ${player.PlayerName} ${player.Team} ${Math.floor(player.OffenseScore)} `; offenseBody.appendChild(row); }); }; async function updatePaydirt() { if (!verifyLogin()) return; const paydirtHeader = document.querySelector("#paydirt thead"); const paydirtBody = document.querySelector("#paydirt tbody"); let resultObject = await postData("/getHighestPaydirt", { amount: 100 }, token); console.log(resultObject); if (resultObject.matches.length === 0) { alert("Error loading scores"); return; } paydirtHeader.innerHTML = ""; const headerRow = document.createElement("tr"); //Object.keys(resultObject.matches[0]).forEach(attribute => { // headerRow.innerHTML += `${attribute}`; //}); headerRow.innerHTML = ` Rank Position Name Team Paydirt Score `; paydirtHeader.appendChild(headerRow); paydirtBody.innerHTML = ""; let i = 0; resultObject.matches.forEach(player => { i++; const row = document.createElement("tr"); row.innerHTML = ` ${i} ${player.Position} ${player.PlayerName} ${player.Team} ${Math.floor(player.PaydirtScore)} `; paydirtBody.appendChild(row); }); }; async function updateHighest() { if (!verifyLogin()) return; const tableHeader = document.querySelector("#highest thead"); const tableBody = document.querySelector("#highest tbody"); let resultObject = await postData("/getHighest", { amount: 100 }, token); console.log(resultObject); if (resultObject.matches.length === 0) { alert("Error loading highest"); return; } tableHeader.innerHTML = ""; const headerRow = document.createElement("tr"); //Object.keys(resultObject.matches[0]).forEach(attribute => { // headerRow.innerHTML += `${attribute}`; //}); headerRow.innerHTML = ` Rank Position Name Team Contract `; tableHeader.appendChild(headerRow); tableBody.innerHTML = ""; let i = 0; resultObject.matches.forEach(player => { i++; const row = document.createElement("tr"); //for (attribute in player) { // row.innerHTML += `${player}l`; //} row.innerHTML = ` ${i} ${player.Position} ${player.PlayerName} ${player.Team} ${formatSalary(player.TotalValue)} `; tableBody.appendChild(row); }); }; async function updateFavorites() { if (!verifyLogin()) return; const tableHeader = document.querySelector("#favorites thead"); const tableBody = document.querySelector("#favorites tbody"); let resultObject = await postData("/getWatchlist", {}, token); tableHeader.innerHTML = ""; const headerRow = document.createElement("tr"); //Object.keys(resultObject.matches[0]).forEach(attribute => { // headerRow.innerHTML += `${attribute}`; //}); headerRow.innerHTML = ` Rank Position Name Team Remove `; tableHeader.appendChild(headerRow); tableBody.innerHTML = ""; console.log(resultObject.watchlist); let i = 0; resultObject.watchlist.forEach(player => { i++; const row = document.createElement("tr"); row.innerHTML = ` ${i} ${player.Position} ${player.PlayerName} ${player.Team} Stop Watching `; tableBody.appendChild(row); }); document.querySelectorAll(".remove").forEach(element => { element.addEventListener("click", async e => { postData("/toggleWatched", { id: element.dataset.id }, token); element.closest("tr").remove(); }) }); };