Skip to content

Feature/clickable leaderboard names - #538

Open
Yashaswini-K-P wants to merge 2 commits into
codepvg:mainfrom
Yashaswini-K-P:feature/clickable-leaderboard-names
Open

Feature/clickable leaderboard names#538
Yashaswini-K-P wants to merge 2 commits into
codepvg:mainfrom
Yashaswini-K-P:feature/clickable-leaderboard-names

Conversation

@Yashaswini-K-P

Copy link
Copy Markdown
Contributor

Description

This pull request adds an interactive user profile feature to the CodePVG leaderboard. Users can now click on any student's name on either desktop or mobile views to navigate to a dedicated profile page (/user/:username) showing their individual stats and breakdown.

Linked Issue

Fixes #142

Changes Made

  • Backend (server.js): Added dynamic routing for /user/:username and an API endpoint /api/user/:username to fetch user stats.
  • Frontend Template (user.html): Created a new profile view template securely integrating server nonces and username parameters.
  • Profile Logic (profile.js): Implemented client-side data fetching and dynamic DOM population for user statistics.
  • Leaderboard Rendering (render.js): Updated renderLeaderboardRow and renderMobileCard to wrap student names in internal route links pointing to their profiles.
  • Styles (main.css): Added clean link inheritance classes (.leaderboard-user-link) to preserve existing text colors and remove default anchor styling/underlines.

Type of Change

  • Bug fix
  • New feature
  • UI/Visual update
  • Documentation update
  • Refactor

Testing

  • Tested locally
  • Tested on mobile viewport (if applicable)
  • No console errors introduced

Checklist

  • My code follows the project's coding style
  • I have formatted my code locally by running npx prettier --write . before submitting
  • I am submitting my PR from a dedicated feature/* branch, not the main branch
  • I have performed a self-review of my code
  • My changes generate no new warnings or errors
  • I have updated documentation if required
  • I have linked the relevant issue

Screenshots / Screen Recording

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for submitting a pull request.

Please ensure your changes comply with the project's contribution guidelines and that all workflow checks pass successfully.

Formatting and Branching

  • Please confirm you have formatted your code locally using npx prettier --write . before requesting a review.
  • Ensure this PR is made from a feature/* branch and not main.

Note: This project is currently maintained by a solo maintainer, so reviews and responses may sometimes take a little time. Thanks for your patience.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Add user profile page and link leaderboard entries to /user/:username

1 participant