Skip to content

[FEAT] Add loading skeleton to PR Analytics widget to match commit chart loading UX #2451

@vbarik317-droid

Description

@vbarik317-droid

Problem Statement

Is your feature request related to a problem?
The PR Analytics widget shows no loading state while data is being fetched — the area is blank or flashes, which feels broken compared to the polished skeleton on the commit activity chart.

Describe the solution you'd like
Add a skeleton placeholder to the PR Analytics widget that displays while PR data loads, consistent with the existing loading UX across the dashboard.

Proposed Solution

Proposed Solution

  • Create or reuse a SkeletonCard component for the widget's stat tiles
  • Apply skeleton during the isLoading / isPending state of the PR metrics API call
  • Match the visual style of existing skeleton loaders in the codebase (same height, border-radius, animation)
  • Skeleton should cover: stat tiles, widget title area, and any chart/graph inside the widget

Implementation Notes

  • Check src/components/ for any existing Skeleton or SkeletonCard — reuse if present
  • Use shadcn/ui Skeleton component (from "@/components/ui/skeleton") if no custom one exists
  • Skeleton count should match the number of stat tiles rendered in the widget

Why this helps
Consistent loading states make the dashboard feel polished and production-ready, and reduce perceived load time.

Checklist

  • Skeleton renders during PR data loading state
  • Skeleton matches existing dashboard loading style
  • No layout shift when real data loads in
  • No TypeScript errors / lint issues

Feature Area

Dashboard

Alternatives Considered

No response

Acceptance Criteria

  • ...
  • ...

Additional Context

No response

Metadata

Metadata

Labels

enhancementNew feature or requestgssoc:assignedGSSoC: Issue assigned to a contributorneeds-triageNeeds maintainer triage

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions