Problem Statement
Components mix <Spinner />, <LoadingProgressBar />, and custom CSS loaders. The visual language is inconsistent. Property cards flicker between empty and populated without a consistent skeleton.
Acceptance Criteria
- One
Skeleton primitive from shadcn/ui registry adopted everywhere
- Storybook stories snap per-component skeleton states
- Visual regression baseline for skeletons captured
Implementation Notes
Remove LoadingSpinner.tsx after migration (or keep as alias).
Files Likely Affected
src/components/ui/Skeleton.tsx
- Anywhere using LoadingSpinner
Difficulty / Effort
- Difficulty: Easy
- Effort: T-Shirt M
Labels
ux, priority:medium
Problem Statement
Components mix
<Spinner />,<LoadingProgressBar />, and custom CSS loaders. The visual language is inconsistent. Property cards flicker between empty and populated without a consistent skeleton.Acceptance Criteria
Skeletonprimitive fromshadcn/uiregistry adopted everywhereImplementation Notes
Remove
LoadingSpinner.tsxafter migration (or keep as alias).Files Likely Affected
src/components/ui/Skeleton.tsxDifficulty / Effort
Labels
ux,priority:medium