import { API_ROOT, INGORED_USERS } from "./global.js" const element = (e) => document.querySelector(e) async function update() { const data = await get_leaderboard_data() fill_metadata(data.settings) fill_leaderboard(data.points, data.settings.multiplier) } function sentenceCase(string) { const out = string.slice(0, 1).toUpperCase() + string.slice(1).toLowerCase() return out } async function get_leaderboard_data() { const response = await fetch(`${API_ROOT}/leaderboard/`) console.log(API_ROOT) const data = await response.json() return data } function fill_metadata(settings) { element("#prompt").innerHTML = `"${settings.prompt}"` } function clear_leaderboard() { element(`#team-container`).innerHTML = '' } function fill_leaderboard(points, multipliers) { clear_leaderboard() for (let team of ["green", "purple"]) { console.log(team) const html = `
${sentenceCase(team)} Team
Determination: ${multipliers[team]}

Total: ${points[team]["__total"]}

${team_member_entry(points[team])}
` element(`#team-container`).innerHTML += html } } function team_member_entry(teamPoints) { let html = "" const sorted = [] for (let member in teamPoints) { sorted.push([member, teamPoints[member]]) } sorted.sort((a, b) => b[1] - a[1]) for (let i = 0; i ${sentenceCase(sorted[i][0])} ${sorted[i][1]} ` } } return html } document.addEventListener("DOMContentLoaded", async () => { update() const urlParams = new URLSearchParams(window.location.search); const poll = urlParams.get("poll") || 5000 const polling = setInterval(update, poll) });