Feature Request
Problem
When data is being fetched (GitHub sync, initial load), there are no loading indicators or skeleton screens. Data appears instantly or not at all, giving no feedback to the user about the app's state.
Current Behavior
- No skeleton/placeholder content during TanStack Query
isLoading states
- No spinner or progress indicators
- Content jumps in when data arrives
Proposed Solution
- Create a reusable
Skeleton component using animate-pulse bg-surface pattern
- Add skeleton variants for: card (ReviewCard, MyPrCard), list item (issues, activity), stats bar
- Show skeletons during TanStack Query
isLoading state in each view component
- Use
aria-busy="true" on loading containers for accessibility
Implementation Sketch
// src/components/atoms/Skeleton.tsx
function Skeleton({ className }: { className?: string }) {
return <div className={`animate-pulse rounded bg-surface ${className}`} />;
}
function CardSkeleton() {
return (
<div className="flex items-center gap-3 rounded border border-border px-3 py-2">
<Skeleton className="h-4 w-32" />
<Skeleton className="h-4 w-16" />
<Skeleton className="ml-auto h-6 w-14" />
</div>
);
}
Files to Modify
src/components/atoms/Skeleton.tsx (new)
src/components/ReviewQueue/ReviewQueue.tsx
src/components/MyPRs/MyPRs.tsx
src/components/Issues/Issues.tsx
src/components/ActivityFeed/ActivityFeed.tsx
src/components/StatsBar/StatsBar.tsx
References
Feature Request
Problem
When data is being fetched (GitHub sync, initial load), there are no loading indicators or skeleton screens. Data appears instantly or not at all, giving no feedback to the user about the app's state.
Current Behavior
isLoadingstatesProposed Solution
Skeletoncomponent usinganimate-pulse bg-surfacepatternisLoadingstate in each view componentaria-busy="true"on loading containers for accessibilityImplementation Sketch
Files to Modify
src/components/atoms/Skeleton.tsx(new)src/components/ReviewQueue/ReviewQueue.tsxsrc/components/MyPRs/MyPRs.tsxsrc/components/Issues/Issues.tsxsrc/components/ActivityFeed/ActivityFeed.tsxsrc/components/StatsBar/StatsBar.tsxReferences