Skip to content

[FEATURE] Add loading skeletons to all dashboard widgetsΒ #1774

@aaradhyasinghai-ux

Description

@aaradhyasinghai-ux

🧩 Feature Request: Loading Skeletons for Dashboard Widgets

Problem

Currently, when the dashboard loads or fetches data, widgets either appear blank
or show incomplete states. This creates a jarring experience β€” especially on
slower connections β€” where users see empty cards with no indication that content
is loading.

Proposed Solution

Add Tailwind CSS-based shimmer skeleton components for each dashboard widget:

  • ContributionGraph.tsx β€” skeleton bar chart (several animated rect bars)
  • PRMetrics.tsx β€” skeleton stat grid (4 placeholder boxes)
  • StreakTracker.tsx β€” skeleton streak numbers
  • TopRepos.tsx β€” skeleton list rows (3–5 placeholder items)
  • GoalTracker.tsx β€” skeleton progress bars

Each widget should show the skeleton while its data fetch is in-flight,
then swap to real content once resolved.

Implementation Approach

Use Tailwind's built-in animate-pulse utility with bg-muted colored divs
that mirror the shape of the real content:

// Example skeleton for a stat card
<div className="animate-pulse space-y-2">
  <div className="h-4 w-24 rounded bg-muted" />
  <div className="h-8 w-16 rounded bg-muted" />
</div>

Each component already receives data as props from a parent fetch β€”
the skeleton should render when a isLoading prop is true.

Acceptance Criteria

  • All 5 widgets have a skeleton state matching their real layout shape
  • Skeletons are visible during data fetch and disappear once data loads
  • Skeletons respect both dark and light mode (use CSS variables / bg-muted)
  • No new dependencies required β€” Tailwind animate-pulse only

Difficulty

level: beginner β€” Pure UI work, no API changes needed. Great for getting
familiar with the component structure.


I'd like to work on this issue under GSSoC 2026. Please assign it to me!

Metadata

Metadata

Labels

enhancementNew feature or requestgssoc:assignedGSSoC: Issue assigned to a contributor

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions