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");