Problem:
There is currently no way to quickly find a specific user on the leaderboard. As the number of registered students grows, manually scrolling through pages or clicking "fetch more nodes" to find a specific rank, Name, or LeetCode ID becomes highly inefficient.Furthermore, using the browser's native search (Ctrl + F) does not work reliably because it cannot scan users that haven't been loaded into the DOM yet.
Proposed Solution:
Add a search bar component at the top of the leaderboard section (above the rank table but below the time filters).
Real-time Filtering: The search bar should filter the leaderboard rows dynamically as the user types.
Search Targets: Users should be able to query by both Name (e.g., "Neerad Ahire") and LeetCode ID (e.g., "Neerad_ahire").
State Persistence: The search should seamlessly apply to whichever active filter tab is selected (./overall, ./monthly, ./weekly, or ./daily).
Benefits
Dramatically improves the user experience (UX) for students looking to quickly track their own progress or find their friends.
Reduces unnecessary DOM rendering overhead caused by users clicking "fetch more nodes" repeatedly just to find a single name deep in the list.
Problem:
There is currently no way to quickly find a specific user on the leaderboard. As the number of registered students grows, manually scrolling through pages or clicking "fetch more nodes" to find a specific rank, Name, or LeetCode ID becomes highly inefficient.Furthermore, using the browser's native search (Ctrl + F) does not work reliably because it cannot scan users that haven't been loaded into the DOM yet.
Proposed Solution:
Add a search bar component at the top of the leaderboard section (above the rank table but below the time filters).
Real-time Filtering: The search bar should filter the leaderboard rows dynamically as the user types.
Search Targets: Users should be able to query by both Name (e.g., "Neerad Ahire") and LeetCode ID (e.g., "Neerad_ahire").
State Persistence: The search should seamlessly apply to whichever active filter tab is selected (./overall, ./monthly, ./weekly, or ./daily).
Benefits
Dramatically improves the user experience (UX) for students looking to quickly track their own progress or find their friends.
Reduces unnecessary DOM rendering overhead caused by users clicking "fetch more nodes" repeatedly just to find a single name deep in the list.