feat: add skeleton loading states for Profile and Roadmap pages#659
Merged
Aditya948351 merged 1 commit intoJun 19, 2026
Merged
Conversation
…ollowing) and Roadmap pages
Aditya948351
approved these changes
Jun 19, 2026
d9759b2
into
devpathindcommunity-india:master
3 of 4 checks passed
Collaborator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #633
Replaces basic spinners and blank loading states with sleek, animated skeleton loaders using Tailwind CSS
animate-pulseutilities, reducing layout shifts and improving perceived performance while Firebase data is being fetched.Changes Made
Profile Page (
UserProfile.tsx)Roadmap Page (
SkillTreeVisualizer.tsx)loadingstate fromuseLearningProgress()was previously unused, causing roadmap nodes to render before progress data arrivedOther
package-lock.jsonupdated after installing a missing dependency (html-to-image) that was causing a build error unrelated to this featureWhy this change?
Previously, users saw blank screens or basic spinners while Firebase data loaded, which could cause layout shifts once content appeared. Skeleton loaders give immediate visual feedback and match the final layout shape, so content "pops in" smoothly without shifting the page.
How to test?
/profile— observe skeleton placeholders for Projects, then open Followers/Following modals/roadmaps/frontendor/roadmaps/backend— observe pulsing skeleton nodes before the interactive tree rendersType of Change