feat(ui): implement shimmer skeleton loaders for complex data widgets#1554
Conversation
|
@ArshVermaGit 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):
|
ArshVermaGit
left a comment
There was a problem hiding this comment.
Hi @Priyanshu-byte-coder ! Issue #1553 has been resolved. Please review the PR and merge it under GSSoC. Thanks!
f992380
into
Priyanshu-byte-coder:main
|
🎉 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! |
Description
This PR standardizes the loading states across complex data-fetching components by replacing basic text and simple spinners (
animate-pulse) with polished, animated skeleton loaders. By ensuring that the skeleton layouts perfectly match the dimensions of the final loaded content, we drastically reduce layout jumps (Cumulative Layout Shift) and improve the overall perceived performance for users.Resolved Issue
Resolves #1553
Key Changes
src/components/Skeleton.tsx: Added a new reusable skeleton component featuring a smooth, CSS-only shimmer gradient that adapts to both light and dark modes.globals.css: Introduced the@keyframes shimmeranimation used by the new component.ProjectMetrics.tsx: Replaced the basic 4-box pulse with a tailored skeleton layout (header, 4 stats boxes, and recent issue rows).CodingActivityInsightsCard.tsx: Updated the loading state to mirror the exact dimensions of the activity bar chart and the three insight rows below it.Type of change
How Has This Been Tested?
npm run buildto ensure all modifications compile without type errors.