Skip to content

Replace loading spinners with shimmer skeletons#1266

Open
sepulchralvoid666 wants to merge 2 commits into
SolFoundry:mainfrom
sepulchralvoid666:feat/bounty-827-loading-skeletons
Open

Replace loading spinners with shimmer skeletons#1266
sepulchralvoid666 wants to merge 2 commits into
SolFoundry:mainfrom
sepulchralvoid666:feat/bounty-827-loading-skeletons

Conversation

@sepulchralvoid666
Copy link
Copy Markdown

Closes #827

Wallet: 9PmjWFwM2mdnjBNjJyfNMTWGCnGAKFpywsLF9xcRF8PK

Extracts skeleton components that match the shape of
BountyCard, BountyDetail, Leaderboard, and Profile views.
Uses the existing animate-shimmer from tailwind config.

Closes SolFoundry#827

Wallet: 9PmjWFwM2mdnjBNjJyfNMTWGCnGAKFpywsLF9xcRF8PK
@nagiexplorer88
Copy link
Copy Markdown

This still misses the "all pages during data loading" acceptance criterion for #827. The new skeletons replace loading UI in BountyGrid, BountyDetailPage, LeaderboardPage, and one ProfileDashboard tab, but the home page still has a data-loading state that uses the old placeholder.

FeaturedBounties.tsx calls useBounties({ limit: 4, status: "open" }), and while isLoading it still renders four plain animate-pulse blocks rather than the new shimmer skeleton components. Since FeaturedBounties is part of the home page, reviewers will still see a non-matching loading placeholder there instead of the requested skeleton layout.

A small fix would be to reuse BountyCardSkeleton in FeaturedBounties too, so the home page bounty-loading state matches the actual cards and the new skeleton system.

The home page featured bounties section was using a plain
animate-pulse div while the rest of the app uses the shimmer
skeleton system. Now consistent with BountyGrid, DetailPage,
LeaderboardPage, and ProfileDashboard.
@nagiexplorer88
Copy link
Copy Markdown

Confirmed. The follow-up commit now imports BountyCardSkeleton in FeaturedBounties.tsx and uses it for the home page loading state instead of the old plain animate-pulse placeholders:

{Array.from({ length: 4 }).map((_, i) => (
  <BountyCardSkeleton key={i} />
))}

That covers the home page loading path I called out, so the skeleton system is now applied there as well.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🏭 Bounty T1: Loading Skeleton Animations

2 participants