Skip to content

Commit bfa1d6d

Browse files
committed
fix(): remove duplicate challenges
1 parent 1d359b6 commit bfa1d6d

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

docs/src/components/leaderboard/LeaderboardAnswer.svelte

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,19 @@
3939
4040
items.forEach(pr => {
4141
const userLogin = pr.user.login;
42+
// Extract challenge number from labels
43+
const challengeNumbers = pr.labels.filter(l => !isNaN(Number(l.name))).map(l => Number(l.name));
44+
const challengeNumber = challengeNumbers?.[0];
45+
if (!challengeNumber) return; // skip if no challenge number
4246
if (prCounts[userLogin]) {
43-
prCounts[userLogin].count++;
44-
prCounts[userLogin].challengeNumber.push(pr.labels.filter(l => !isNaN(Number(l.name))).map(l => Number(l.name))?.[0]);
47+
// Only add if not already present
48+
if (!prCounts[userLogin].challengeNumber.includes(challengeNumber)) {
49+
prCounts[userLogin].challengeNumber.push(challengeNumber);
50+
}
4551
} else {
4652
prCounts[userLogin] = {
4753
avatar: pr.user.avatar_url,
48-
count: 1,
49-
challengeNumber: [pr.labels.filter(l => !isNaN(Number(l.name))).map(l => Number(l.name))?.[0]]
54+
challengeNumber: [challengeNumber]
5055
};
5156
}
5257
});
@@ -63,7 +68,7 @@
6368
users = Object.entries(prCounts).map(([login, pr]) => ({
6469
login,
6570
avatar: pr.avatar,
66-
count: pr.count,
71+
count: pr.challengeNumber.length, // count unique challenges only
6772
challengeNumber: pr.challengeNumber.sort((a, b) => a - b),
6873
})).filter((r) => r.login !== 'allcontributors[bot]' && r.login !== 'tomalaforge').sort((a, b) => b.count - a.count);
6974

0 commit comments

Comments
 (0)