From 8c85cf072f2e9b07514a9806866c1618f10ca277 Mon Sep 17 00:00:00 2001 From: Yashaswini K P Date: Sat, 1 Aug 2026 18:25:43 +0530 Subject: [PATCH 1/2] feat: hook up streak card with real data from api --- frontend/js/user/profile-controller.js | 2 ++ frontend/js/user/streak.js | 14 ++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 frontend/js/user/streak.js diff --git a/frontend/js/user/profile-controller.js b/frontend/js/user/profile-controller.js index 353de07b..8f229e4f 100644 --- a/frontend/js/user/profile-controller.js +++ b/frontend/js/user/profile-controller.js @@ -3,6 +3,7 @@ import { loadContestProfile } from "./contest.js"; import { loadGoalSetter } from "./goal-setter.js"; import { fetchUserData } from "./historical-graphs.js"; import { loadLeaderboardRanks } from "./ranks.js"; +import { loadStreakData } from "./streak.js"; function getUsername() { const pathSegments = window.location.pathname.split("/"); @@ -35,6 +36,7 @@ async function initProfile() { const data = await res.json(); // Distribute the single payload across all rendering modules simultaneously + loadStreakData(data); loadBadges(data); loadContestProfile(data); loadGoalSetter(username, data); diff --git a/frontend/js/user/streak.js b/frontend/js/user/streak.js new file mode 100644 index 00000000..f73ff8ca --- /dev/null +++ b/frontend/js/user/streak.js @@ -0,0 +1,14 @@ +export function loadStreakData(data) { + const currentStreakEl = document.getElementById("streak-current"); + const longestStreakEl = document.getElementById("streak-longest"); + + if (data && data.streak) { + if (currentStreakEl && data.streak.current !== undefined) { + currentStreakEl.textContent = data.streak.current; + } + + if (longestStreakEl && data.streak.longest !== undefined) { + longestStreakEl.textContent = data.streak.longest; + } + } +} \ No newline at end of file From 54b7a22dedd22fdcb503f6cf15b4ecdf91b51adb Mon Sep 17 00:00:00 2001 From: Yashaswini K P Date: Sat, 1 Aug 2026 18:28:54 +0530 Subject: [PATCH 2/2] formatted --- frontend/js/user/streak.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/js/user/streak.js b/frontend/js/user/streak.js index f73ff8ca..3957ed47 100644 --- a/frontend/js/user/streak.js +++ b/frontend/js/user/streak.js @@ -11,4 +11,4 @@ export function loadStreakData(data) { longestStreakEl.textContent = data.streak.longest; } } -} \ No newline at end of file +}