Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0
Why this matters
Skeleton placeholders are implemented three inconsistent ways: ui/Skeleton.tsx uses animate-pulse bg-gray-200, the dashboard reimplements its own SkeletonCard with bg-white/5 + shimmer, and the wallet button uses a CSS .wallet-btn-skeleton. The exported StreamListSkeleton (ui/Skeleton.tsx:11) is never imported anywhere.
Acceptance criteria
Files to touch
frontend/src/components/ui/Skeleton.tsx
frontend/src/components/dashboard/dashboard-view.tsx
frontend/src/components/wallet/WalletButton.tsx
Out of scope
- Changing when skeletons are shown
Why this matters
Skeleton placeholders are implemented three inconsistent ways: ui/Skeleton.tsx uses animate-pulse bg-gray-200, the dashboard reimplements its own SkeletonCard with bg-white/5 + shimmer, and the wallet button uses a CSS .wallet-btn-skeleton. The exported StreamListSkeleton (ui/Skeleton.tsx:11) is never imported anywhere.
Acceptance criteria
Files to touch
frontend/src/components/ui/Skeleton.tsxfrontend/src/components/dashboard/dashboard-view.tsxfrontend/src/components/wallet/WalletButton.tsxOut of scope