You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR(#16) replaces the previous Lottie-based loader with a reusable LoadingScreen component, providing smooth, visually appealing page transition animations using only existing dependencies.
Changes / Additions
Removed DotLottieReact and prior Lottie loader references.
Added LoadingScreen component with:
Full-screen Aurora background.
Smooth fade/slide animations using framer-motion.
Dynamic rotating loading messages via ContainerTextFlip.
Integrated LoadingScreen on key pages (Home, Dashboard) using isLoading state.
Maintained layout, accessibility, and navigation during loading.
Improved perceived load time and visual consistency with existing design language.
Impact
Users now experience smooth animated transitions instead of the previous static Lottie animation.
Replace Lottie-based loader with custom LoadingScreen component
Add animated transitions using framer-motion and Aurora background
Integrate dynamic loading messages with ContainerTextFlip
Refactor dashboard and home page loading states
Diagram Walkthrough
flowchart LR
A["Old Lottie Loader"] --> B["Remove DotLottieReact"]
B --> C["Create LoadingScreen Component"]
C --> D["Add Aurora Background"]
C --> E["Add ContainerTextFlip Messages"]
D --> F["Integrate in Dashboard"]
E --> F
F --> G["Integrate in Home Page"]
G --> H["Enhanced User Experience"]
Loading
File Walkthrough
Relevant files
Enhancement
page.tsx
Dashboard loading state refactor
src/app/dashboard/page.tsx
Remove old Lottie loader references and imports
Simplify loading state management with 4-second timer
Replace skeleton loader with AcademicHubSkeleton
Refactor project data structure and component layout
Below is a summary of compliance checks for this PR:
Security Compliance
⚪
Accessibility risk
Description: The Aurora background is rendered in a fixed full-screen div without aria-hidden or role="presentation", which may trap focus/impact screen readers during loading and should be marked aria-hidden to prevent accessibility issues. page.tsx [60-67]
Description: The full-screen loading overlay lacks aria-live or role attributes and may not be dismissible via keyboard, potentially causing an accessibility issue if focus is trapped during loading. LoadingScreen.tsx [24-45]
The PR creates a reusable LoadingScreen component but doesn't use it, instead implementing separate skeleton loaders for each page. It is suggested to either use the LoadingScreen consistently or remove it to avoid dead code and duplicated logic.
Why: The suggestion correctly identifies a major architectural flaw where the PR introduces a reusable LoadingScreen but fails to use it, instead creating separate skeleton loaders, which contradicts the stated goal of centralizing loading logic.
High
Possible issue
Correct prop name for component
In LoadingScreen.tsx, rename the texts prop to words on the ContainerTextFlip component to match its expected API and fix the loading message display.
Why: The suggestion correctly identifies a prop name mismatch that would cause the ContainerTextFlip component to fail, which is a clear bug in the newly added component.
Medium
Fix conflicting animation properties
Remove the conflicting Framer Motion initial and animate props from the motion.div, and rely solely on the conditional CSS classes for the fade-in animation.
Why: The suggestion correctly identifies a conflict between Framer Motion props and conditional CSS classes, which can cause unpredictable animation behavior, and proposes a valid fix.
@Vasu10134 i have added the labels now the pr is accepted for hacktoberfest
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
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.
User description
Summary
This PR(#16) replaces the previous Lottie-based loader with a reusable
LoadingScreencomponent, providing smooth, visually appealing page transition animations using only existing dependencies.Changes / Additions
DotLottieReactand prior Lottie loader references.LoadingScreencomponent with:Aurorabackground.framer-motion.ContainerTextFlip.LoadingScreenon key pages (Home, Dashboard) usingisLoadingstate.Impact
Images Attached
PR Type
Enhancement
Description
Replace Lottie-based loader with custom
LoadingScreencomponentAdd animated transitions using
framer-motionandAurorabackgroundIntegrate dynamic loading messages with
ContainerTextFlipRefactor dashboard and home page loading states
Diagram Walkthrough
File Walkthrough
page.tsx
Dashboard loading state refactorsrc/app/dashboard/page.tsx
AcademicHubSkeletonpage.tsx
Home page loading enhancementsrc/app/page.tsx
LoadingScreencomponent import and integrationLoadingScreen.tsx
New LoadingScreen component creationsrc/components/LoadingScreen.tsx
dashboardPageSkeleton.tsx
Dashboard skeleton component updatesrc/components/skeletons/dashboardPageSkeleton.tsx
homePageSkeleton.tsx
Home page skeleton enhancementsrc/components/skeletons/homePageSkeleton.tsx