Skip to content

feat: add search filter to TopRepos widget (Fixes #1909)#1929

Merged
Priyanshu-byte-coder merged 3 commits into
Priyanshu-byte-coder:mainfrom
YashKrTripathi:Yashinjune
Jun 3, 2026
Merged

feat: add search filter to TopRepos widget (Fixes #1909)#1929
Priyanshu-byte-coder merged 3 commits into
Priyanshu-byte-coder:mainfrom
YashKrTripathi:Yashinjune

Conversation

@YashKrTripathi
Copy link
Copy Markdown
Contributor

Summary

Added a small search input at the top of the TopRepos widget to allow users to client-side filter the displayed repository list by name. This makes it much faster for users with many repositories to find specific ones without scrolling.

Closes #1909


Type of Change

  • Bug fix
  • New feature
  • Documentation update
  • Refactor / code cleanup

Changes Made

  • Consolidated duplicated search inputs into a single search bar at the top of the TopRepos card.
  • Implemented real-time client-side filtering by repository name based on user input.
  • Leveraged React state to ensure the input automatically clears upon widget re-mount.
  • Ensured a "No repos match your search." message displays when the filter yields no results.
  • Added appropriate aria-label attributes to the input and clear button for better accessibility.

How to Test

Steps for the reviewer to verify this works:

  1. Open the dashboard and locate the TopRepos widget.
  2. Verify that the new search bar appears at the top of the repository list.
  3. Type a repository name and ensure the list filters in real-time without reloading or making API calls.
  4. Type a non-existent name and verify the "No repos match your search." message appears.
  5. Click the '✕' button inside the input field and verify the search clears.
  6. Verify the input is accessible by checking for the aria-label using browser dev tools or a screen reader.

Screenshots (if UI change)

image

Checklist

  • Linked issue in summary
  • npm run lint passes locally
  • No TypeScript errors (npm run type-check)
  • Self-reviewed the diff
  • Added/updated tests if applicable

Accessibility Checklist

  • Proper keyboard navigation tested
  • Responsive UI verified
  • Accessibility labels added where needed

Additional Notes

The search filtering occurs completely on the client side, avoiding unnecessary API calls and ensuring a highly responsive user experience.

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 3, 2026

@YashKrTripathi is attempting to deploy a commit to the PRIYANSHU DOSHI's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:feature GSSoC type bonus: new feature labels Jun 3, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@Priyanshu-byte-coder Priyanshu-byte-coder added gssoc:approved GSSoC: PR approved for scoring level:beginner GSSoC: Beginner difficulty (20 pts) labels Jun 3, 2026
@Priyanshu-byte-coder
Copy link
Copy Markdown
Owner

This PR has merge conflicts with main (which has since received many merges). Please rebase:

git fetch origin
git rebase origin/main
git push --force-with-lease

@YashKrTripathi
Copy link
Copy Markdown
Contributor Author

done @Priyanshu-byte-coder merged the conflicts

@Priyanshu-byte-coder Priyanshu-byte-coder added the quality:clean GSSoC: Clean quality multiplier (×1.2) label Jun 3, 2026
@Priyanshu-byte-coder Priyanshu-byte-coder merged commit b3f4f8f into Priyanshu-byte-coder:main Jun 3, 2026
9 of 10 checks passed
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

🎉 Merged! Thanks for contributing to DevTrack.

If the project has been useful to you, a ⭐ star on the repo is the easiest way to support it — it helps DevTrack get discovered by more developers.

Keep an eye on open issues for your next contribution!

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

Labels

gssoc:approved GSSoC: PR approved for scoring gssoc26 GSSoC 2026 contribution level:beginner GSSoC: Beginner difficulty (20 pts) quality:clean GSSoC: Clean quality multiplier (×1.2) type:feature GSSoC type bonus: new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Add search filter to TopRepos widget

2 participants