Skip to content

[FE-80] Add loading skeletons for data-heavy routes #1179

Description

@yusuftomilola

Overview

No loading.tsx exists in frontend/app/, so navigating to assets, dashboard, or reports shows nothing until data resolves.

Tasks

  • Add loading.tsx to app/(dashboard)/dashboard, assets, assets/[id], reports, users, and departments.
  • Build a reusable Skeleton primitive in components/ui/ if absent.
  • Match each skeleton to its real layout (table rows, stat tiles, chart blocks) so content swaps in without layout shift.
  • Add inline loading states for React Query refetches, distinct from initial page load.
  • Respect prefers-reduced-motion — no shimmer when reduced motion is requested.

Acceptance Criteria

  • Each listed route shows an immediate skeleton on navigation.
  • Layout does not shift when real content replaces the skeleton.
  • Animation is disabled under prefers-reduced-motion.

Notes for Contributors

Comment below to be assigned.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions