We are expanding the gamification system on user profiles! We need to implement a new "BALANCED" badge that unlocks dynamically based on a user's progress.
Badge Name: [BALANCED]
Unlock Condition: The user has solved at least 5 Easy, Medium, and Hard problems, and the difference between the highest and lowest solved counts is no more than 5% of the highest solved count.
Implementation Steps
This is a purely frontend feature. All logic belongs in frontend/js/user/badges.js and CSS styling in frontend/user.html.
- Add the badge object to the
ALL_BADGES array.
- Write the evaluation logic inside the
loadBadges() function to check the user's history data. If the condition is met, add the ID to the earnedSet.
- Add a visually distinct CSS class (e.g. teal/cyan gradient theme) for the badge in
frontend/user.html.
We are expanding the gamification system on user profiles! We need to implement a new "BALANCED" badge that unlocks dynamically based on a user's progress.
Badge Name:
[BALANCED]Unlock Condition: The user has solved at least 5 Easy, Medium, and Hard problems, and the difference between the highest and lowest solved counts is no more than 5% of the highest solved count.
Implementation Steps
This is a purely frontend feature. All logic belongs in
frontend/js/user/badges.jsand CSS styling infrontend/user.html.ALL_BADGESarray.loadBadges()function to check the user'shistorydata. If the condition is met, add the ID to theearnedSet.frontend/user.html.