From 3b21914e791220ae7b73218f26288b5fd25a23f2 Mon Sep 17 00:00:00 2001 From: rishab11250 Date: Thu, 18 Jun 2026 10:45:50 +0530 Subject: [PATCH 1/4] feat: add loading skeleton, error states, and empty state to leaderboard UI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Implement Issue #179: Loading Skeleton + Error States for Leaderboard. - Add 8 skeleton shimmer rows (desktop) and 8 skeleton cards (mobile) that display on page load, naturally cleared by renderLeaderboard() - Add error banner with [RETRY] button when all 4 data endpoints fail - Error re-fetches data on click, clears cached entries - Add empty state message when API returns no data - Add CSS shimmer animation, fade-in transition for data rows - All states responsive — skeleton rows hidden on mobile, skeleton cards hidden on desktop Resolves #179 --- frontend/leaderboard.html | 156 +++++++++++++++++++++++++- frontend/styles/main.css | 224 ++++++++++++++++++++++++++++++++------ 2 files changed, 343 insertions(+), 37 deletions(-) diff --git a/frontend/leaderboard.html b/frontend/leaderboard.html index 3c4345df..0cbf612f 100644 --- a/frontend/leaderboard.html +++ b/frontend/leaderboard.html @@ -223,10 +223,117 @@

Leaderboard

-
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+ +
+
+
+
+
+
+
+
+
+ + +
+
+
[!]
+
+ LEADERBOARD_DATA_UNAVAILABLE +
+
+ Failed to fetch leaderboard data. The upstream API may be + rate-limited or unreachable. Please try again. +
+ +
+
@@ -252,6 +359,15 @@

Leaderboard