Summary
The Dashboard stats section (frontend/src/pages/Dashboard.tsx) shows a generic loading spinner while the API call is in progress, but individual stat cards render blank/empty during loading. This causes jarring layout shifts and looks broken.
Expected behaviour
Each stat card should display a skeleton placeholder (grey animated bar matching the card shape) while data is loading, then smoothly transition to the real value.
Scope
- CV score card
- Readiness level card
- Profile completion card
- Any other metric cards in the dashboard grid
Implementation note
Shadcn's Skeleton component is already available in the project and used elsewhere — use it for consistency.
Summary
The Dashboard stats section (
frontend/src/pages/Dashboard.tsx) shows a generic loading spinner while the API call is in progress, but individual stat cards render blank/empty during loading. This causes jarring layout shifts and looks broken.Expected behaviour
Each stat card should display a skeleton placeholder (grey animated bar matching the card shape) while data is loading, then smoothly transition to the real value.
Scope
Implementation note
Shadcn's
Skeletoncomponent is already available in the project and used elsewhere — use it for consistency.