# Phase 3: Richer Events Display + Filtering & Sorting **Status:** ⬜ Not Started **Parent plan:** [PLAN.md](./PLAN.md) **Domain:** frontend ## Objective Update the dashboard to display richer event details (provider name, tracker name, album name, event type, assets count) and add filtering/sorting controls. ## Tasks - [ ] Task 1: Update event timeline items in `+page.svelte` to show: provider name, tracker name, album name, event type badge, and assets count - [ ] Task 2: Add filter controls above the events list: text search input, event type dropdown (all/assets_added/assets_removed/collection_renamed/collection_deleted/sharing_changed), provider dropdown (populated from providers list) - [ ] Task 3: Add sort control: newest first / oldest first toggle - [ ] Task 4: Wire filters to API query params (event_type, provider_id, search) from Phase 2 - [ ] Task 5: Add "load more" button or increase default limit for events - [ ] Task 6: Ensure graceful display when enriched fields are empty (old events before Phase 2) ## Files to Modify/Create - `frontend/src/routes/+page.svelte` — event display, filter/sort controls, API calls ## Acceptance Criteria - Each event shows: provider name, tracker name, album name, event type (badge), assets count - Filtering by text search, event type, and provider works - Sort by time (newest/oldest) works - Old events without enriched data display gracefully (show what's available) - Filter/sort state resets on page load (no persistence needed) - UI is responsive and consistent with existing design ## Notes - Depends on Phase 2's enriched API response - Provider list for the dropdown can come from existing /api/providers endpoint - Event type badges already have color mapping in the current dashboard code ## Review Checklist - [ ] All tasks completed - [ ] Code follows project conventions - [ ] No unintended side effects - [ ] Build passes - [ ] Tests pass (new + existing) ## Handoff to Next Phase