Join our community: https://t.me/+DOylgFv1jyJlNzM0
Why this matters
frontend/src/app/activity/activity-content.tsx and frontend/src/app/incoming/incoming-content.tsx both implement their own loading/error/empty-state handling around a data fetch, following the same shape. Duplicated scaffolding means a bug fix (e.g. an error-state edge case) has to be applied twice and can drift, exactly the kind of duplication already flagged for other pairs in this codebase.
Acceptance criteria
Files to touch
frontend/src/app/activity/activity-content.tsx
frontend/src/app/incoming/incoming-content.tsx
frontend/src/hooks/
Out of scope
- Rewriting the data-fetching library used
- Changing the visual design of loading/error states
Why this matters
frontend/src/app/activity/activity-content.tsxandfrontend/src/app/incoming/incoming-content.tsxboth implement their own loading/error/empty-state handling around a data fetch, following the same shape. Duplicated scaffolding means a bug fix (e.g. an error-state edge case) has to be applied twice and can drift, exactly the kind of duplication already flagged for other pairs in this codebase.Acceptance criteria
useAsyncPageData-style hook or shared presentational wrapper for loading/error/empty statesFiles to touch
frontend/src/app/activity/activity-content.tsxfrontend/src/app/incoming/incoming-content.tsxfrontend/src/hooks/Out of scope