diff --git a/.github/workflows/sync-leaderboard.yml b/.github/workflows/sync-leaderboard.yml
index c2ca5952..44b0e87c 100644
--- a/.github/workflows/sync-leaderboard.yml
+++ b/.github/workflows/sync-leaderboard.yml
@@ -55,6 +55,7 @@ jobs:
# 2. Run sync
export DATA_DIR=db-repo
+ export DATA_REPO_TOKEN=${{ secrets.DATA_REPO_TOKEN }}
node scripts/sync-leaderboard.js
# 3. Stage changes (everything except users.json)
diff --git a/frontend/leaderboard.html b/frontend/leaderboard.html
index 242c6f83..0119ac10 100644
--- a/frontend/leaderboard.html
+++ b/frontend/leaderboard.html
@@ -11,6 +11,25 @@
rel="stylesheet"
/>
+
@@ -332,6 +351,16 @@
Leaderboard
`;
renderLeaderboard(filteredData);
}
+ function getRankChangeTag(rankChange) {
+ if (!rankChange) return "";
+ if (rankChange === "NEW")
+ return `[new]`;
+ if (rankChange === "=")
+ return `[==]`;
+ if (rankChange.startsWith("+"))
+ return `[${rankChange}]`;
+ return `[${rankChange}]`;
+ }
function getRankTag(rank) {
switch (rank) {
case 1:
@@ -391,7 +420,7 @@ Leaderboard
row.className = "leaderboard-row";
row.innerHTML = `
${rank}
- ${tag}${user.name}
+ ${tag}${user.name}${getRankChangeTag(user.rankChange)}
- ${tag}${user.name}
+ ${tag}${user.name}${getRankChangeTag(user.rankChange)}
${user.id}