Skip to content

Fix/loading consistency - #159

Merged
RUKAYAT-CODER merged 16 commits into
rinafcode:mainfrom
DTriple-p:fix/loading-consistency
Apr 25, 2026
Merged

Fix/loading consistency#159
RUKAYAT-CODER merged 16 commits into
rinafcode:mainfrom
DTriple-p:fix/loading-consistency

Conversation

@DTriple-p

@DTriple-p DTriple-p commented Apr 23, 2026

Copy link
Copy Markdown
Contributor

Closes #119


Overview

This PR addresses inconsistencies in loading states across the application. It introduces a unified design system for loading indicators, including skeleton loaders for data-heavy sections and a global Suspense fallback mechanism.

Changes

  • New UI Components:
    • LoadingSkeleton.tsx: Provides modular skeleton variants (text, circular, rectangular) and pre-built CardSkeleton and ListSkeleton.
    • LoadingSpinner.tsx: A standardized spinner using Lucide icons with support for labels and full-page overlays.
    • Loading.tsx: A general-purpose loading screen intended for route-level Suspense fallbacks.
  • Hook Enhancement: Updated useDashboardData to include an isLoading state with a simulated initial load delay to demonstrate the skeleton UI.
  • Dashboard Refactor: Updated the Dashboard page to use the new skeleton loaders, significantly improving the perceived performance and UX.
  • Global Suspense: Added a Suspense boundary with the Loading fallback in the root layout to handle async components consistently across the app.

Impacted Files

  • src/components/ui/LoadingSkeleton.tsx (New)
  • src/components/ui/LoadingSpinner.tsx (New)
  • src/components/ui/Loading.tsx (New)
  • src/hooks/useDashboardData.tsx
  • src/app/dashboard/page.tsx
  • src/app/layout.tsx

Acceptance Criteria

  • Reusable LoadingSkeleton and LoadingSpinner components created.
  • Dashboard updated to use skeletons during data fetching.
  • Global Suspense boundary implemented in the root layout.

@drips-wave

drips-wave Bot commented Apr 23, 2026

Copy link
Copy Markdown

@Agbasimere Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

KINDLY RESOLVE CONFLICT AND FIX CI

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Kindly resolve conflict and fix CI

This reverts commit 2f54bb1, reversing
changes made to 9d2458d.
…ation

# Conflicts:
#	package.json
#	scripts/validate-ui.cjs
#	src/app/hooks/useSearchFilters.ts
#	src/components/errors/ErrorBoundarySystem.tsx
#	src/components/instructor/CourseCreationWizard.tsx
#	src/form-management/validation/validation-system-example.ts
#	src/hooks/useSearchFilters.tsx
#	src/utils/web3/envValidation.ts
# Conflicts:
#	src/app/components/courses/CourseCard.tsx
#	src/app/components/courses/CourseReviews.tsx
#	src/app/components/courses/VideoPreview.tsx
#	src/app/components/dashboard/widgets/RecommendedCoursesWidget.tsx
#	src/app/components/messaging/MessageThread.tsx
#	src/app/layout.tsx
#	src/components/errors/ErrorBoundarySystem.tsx
#	src/services/offlineSync.ts
#	src/utils/__tests__/errorUtils.test.ts
#	src/utils/__tests__/performanceUtils.test.ts
#	src/utils/errorUtils.ts
@RUKAYAT-CODER
RUKAYAT-CODER merged commit cb3124b into rinafcode:main Apr 25, 2026
6 checks passed
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.

Loading States Inconsistency

2 participants