Skip to content

[FEAT] Add Reusable Empty State Components for Dashboard Widgets #2646#3156

Open
desireddymohithreddy0925 wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feature/empty-state-components
Open

[FEAT] Add Reusable Empty State Components for Dashboard Widgets #2646#3156
desireddymohithreddy0925 wants to merge 2 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feature/empty-state-components

Conversation

@desireddymohithreddy0925

Copy link
Copy Markdown
Contributor

Summary

Creates a unified, reusable EmptyState component to replace blank sections across dashboard widgets, improving user guidance when data is unavailable.

Closes #2646


Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that changes existing behavior)
  • 📝 Documentation update
  • ♻️ Refactor / code cleanup (no functional change)
  • ⚡ Performance improvement
  • 🔒 Security fix
  • 🧪 Tests only

What Changed

  • Built a generic EmptyState component supporting custom icons, titles, descriptions, and action buttons.
  • Replaced the inconsistent blank states in src/components/TopRepos.tsx (Repositories Widget) and src/components/PRMetrics.tsx (PR Analytics Widget).
  • Updated existing empty states in src/components/GoalTracker.tsx (Goals Widget) and src/app/leaderboard/page.tsx (Leaderboard Widget) to match the standardized phrasing and action labels requested.
  • Ensured responsiveness and support for both light/dark themes.

How to Test

  1. Navigate to the dashboard using a fresh test account with 0 repositories, 0 PRs, and 0 goals.
  2. Verify the Goals Widget displays "No goals created yet" with a "Create Goal" button.
  3. Verify the Top Repositories Widget displays "No repositories found" with a "Refresh Data" button.
  4. Verify the PR Analytics Widget displays "No pull requests available" with a "View GitHub Profile" button.
  5. Navigate to the Leaderboard and verify it displays "No leaderboard data available" with a "Sync Dashboard" button.

Expected result: All widgets should now display the new, consistent EmptyState component rather than blank space or unstyled text.


Screenshots / Recordings

Before After
(Blank spaces or basic text) (Consistent EmptyState components with icons and buttons)

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) gssoc26 GSSoC 2026 contribution labels Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

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

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

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] Add Reusable Empty State Components for Dashboard Widgets

1 participant