feat: add repository spotlight widget (pin your best repos) #1362
feat: add repository spotlight widget (pin your best repos) #1362harshitanagpal05 wants to merge 16 commits into
Conversation
…sights to avoid build failures when not installed
…ny for CI; add confetti types
…esolve conflicts and fix CI
…satisfy Playwright spec
…-byte-coder#1077 Allow users to pin up to 3 repositories to showcase on their dashboard and public profile. - New PinnedReposWidget component with SVG 30-day commit sparkline - New /api/user/pinned-repos/details endpoint for fresh GitHub stats - Settings UI to search, pin, reorder, and unpin repositories - Integrated on both Dashboard and Public Profile pages - New pinned-repos.ts shared library for fetching repo metadata
|
@harshitanagpal05 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. |
GSSoC Label Checklist 🏷️@Priyanshu-byte-coder — please apply the appropriate labels before merging: Difficulty (pick one):
Quality (optional):
Validation (required to score):
|
|
Thanks @harshitanagpal05 for the repository spotlight widget! This is ambitious work — the PinnedReposWidget, pinned-repos API, and public profile integration all look solid. However, there are several issues blocking a merge: Blockers:
What to do:
The core feature is valuable — looking forward to the cleaned-up version! |
…sors, typed supabase, and landing page improvements
…der LandingFooter, update E2E test href
Adds PinnedReposWidget, pinned-repos API, settings integration, and public profile support for showcasing pinned repositories. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
Adds a Repository Spotlight Widget that lets users pin up to 3 flagship repositories to showcase on their Dashboard and Public Profile — complete with live GitHub stats and a 30-day commit activity sparkline.
Closes #1077
What's New
🚀 Pinned Repos Widget
⚙️ Settings UI
🔌 API & Data Layer
GET /api/user/pinned-repos/detailsendpoint — fetches fresh repo metadata + 30-day commit counts from GitHub APIfetchPinnedRepoDetails()library used by both the API route and server-side public profile renderinggetUserByUsernameto includepinned_reposfor public profilesFiles Changed
src/lib/pinned-repos.tsPinnedRepoDetailstype + GitHub API fetch logicsrc/components/PinnedReposWidget.tsxsrc/app/api/user/pinned-repos/details/route.tssrc/lib/supabase.tspinned_repostogetUserByUsernameselectsrc/lib/public-profile-data.tspinned_reposin public profile datasrc/app/dashboard/page.tsxsrc/app/u/[username]/page.tsxsrc/app/dashboard/settings/page.tsxAcceptance Criteria
Verification
npm run type-check— passednpm run lint— passednpm run test— passednpm run build— passed (616 additions, 0 errors)