diff --git a/src/js/elements/leaderboards.js b/src/js/elements/leaderboards.js index 95574e0a5..4429d40aa 100644 --- a/src/js/elements/leaderboards.js +++ b/src/js/elements/leaderboards.js @@ -101,6 +101,8 @@ function update() { clearTable(60); updateFooter(15); updateFooter(60); + checkLbMemory(15); + checkLbMemory(60); fillTable(15); fillTable(60); $("#leaderboardsWrapper .leftTableWrapper").removeClass("invisible"); @@ -315,6 +317,40 @@ export function show() { } } +function checkLbMemory(lb) { + let side; + if (lb === 15) { + side = "left"; + } else { + side = "right"; + } + + let memory = DB.getSnapshot()?.lbMemory?.time?.[lb]?.english; + + if (memory && currentRank[lb]) { + let difference = memory - currentRank[lb].rank; + if (difference > 0) { + DB.updateLbMemory("time", lb, "english", currentRank[lb].rank, true); + $($(`#leaderboardsWrapper table.${side} tfoot tr td`)[1]).append( + ` (${Math.abs( + difference + )} since you last checked)` + ); + } else if (difference < 0) { + DB.updateLbMemory("time", lb, "english", currentRank[lb].rank, true); + $($(`#leaderboardsWrapper table.${side} tfoot tr td`)[1]).append( + ` (${Math.abs( + difference + )} since you last checked)` + ); + } else { + $($(`#leaderboardsWrapper table.${side} tfoot tr td`)[1]).append( + ` (= since you last checked)` + ); + } + } +} + function showLoader(lb) { if (lb === 15) { $(`#leaderboardsWrapper .leftTableLoader`).removeClass("hidden");