|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- let load_url = "https://exmods.org/load?board=test1&count=10&start=0";
-
- function build_board() {
- let leaderboard = document.getElementById("leaderboard")
- let leaderboard_container = document.getElementById("leaderboard-container")
- let tmpEntry = {ID: -42, Rank:"?", PlayerURL: "#", PlayerName: "Loading...", Score:">9000"}
- let errEntry = build_entry(tmpEntry)
- leaderboard.appendChild(errEntry)
- setTimeout(() => {document.getElementById("nameAnchor-42").innerText = "Something went wrong :(";}, 5000) // 5s
- fetch(load_url).then(
- (response) => {
- if (!response.ok || (response.status) != 200) {
- document.getElementById("nameAnchor-42").innerText = "Something went wrong :("
- return
- }
- errEntry.style.display = "none"
- response.json().then(
- (result) => {
- leaderboard.removeChild(errEntry)
- for (entry of result.Items) {
- let newEntry = build_entry(entry)
- // end
- leaderboard.appendChild(newEntry)
- }
- }
- )
- }
- )
- }
-
- function build_entry(entry) {
- let newEntry = document.createElement("div")
- newEntry.setAttribute("id", "entry"+entry.ID)
- newEntry.classList.add("board-entry")
- // rank
- let rankEntry = document.createElement("span")
- rankEntry.setAttribute("id", "rank"+entry.ID)
- rankEntry.innerText = entry.Rank
- rankEntry.classList.add("board-rank")
- newEntry.appendChild(rankEntry)
- // name
- let nameElem = document.createElement("span")
- nameElem.setAttribute("id", "name"+entry.ID)
- nameElem.classList.add("board-name")
- let nameAElem = document.createElement("a")
- nameAElem.setAttribute("id", "nameAnchor"+entry.ID)
- nameAElem.classList.add("board-name-a")
- nameAElem.href = entry.PlayerURL
- nameAElem.innerText = entry.PlayerName
- nameElem.appendChild(nameAElem)
- newEntry.appendChild(nameElem)
- // score
- let scoreElem = document.createElement("span")
- scoreElem.setAttribute("id", "score"+entry.ID)
- scoreElem.classList.add("board-score")
- scoreElem.innerText = entry.Score
- newEntry.appendChild(scoreElem)
- return newEntry
- }
|