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();
})
});
};