feat(frontend): implement activity feed component (#43)

Add shared ActivityFeed component for real-time project activity:

- Real-time connection indicator (Live, Connecting, Disconnected, Error)
- Time-based event grouping (Today, Yesterday, This Week, Older)
- Event type filtering with category checkboxes
- Search functionality for filtering events
- Expandable event details with raw payload view
- Approval request handling (approve/reject buttons)
- Loading skeleton and empty state handling
- Compact mode for dashboard embedding
- WCAG AA accessibility (keyboard navigation, ARIA labels)

Components:
- ActivityFeed.tsx: Main shared component (900+ lines)
- Activity page at /activity for full-page view
- Demo events when SSE not connected

Testing:
- 45 unit tests covering all features
- E2E tests for page functionality

Closes #43
This commit is contained in:
2025-12-30 23:41:12 +01:00
parent 9b41571967
commit 8a85a05ce1
5 changed files with 1881 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
/**
* Activity Components
*
* Shared components for displaying real-time activity feeds across
* dashboards and dedicated activity pages.
*/
export { ActivityFeed } from './ActivityFeed';
export type { ActivityFeedProps, EventTypeFilter } from './ActivityFeed';