This commit is contained in:
Michael Freno
2026-02-03 23:29:36 -05:00
commit f08afb2ed1
59 changed files with 3736 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
# 31. Add Reverse Chronological Ordering
meta:
id: podcast-tui-app-31
feature: podcast-tui-app
priority: P1
depends_on: [30]
tags: [ordering, feeds, episodes, solidjs, sorting]
objective:
- Implement reverse chronological ordering for feeds
- Order episodes by publication date (newest first)
- Order feeds by last updated (newest first)
- Provide sort option toggle
deliverables:
- `src/utils/ordering.ts` with sorting functions
- `src/components/FeedSortToggle.tsx` with sort option
- `src/components/EpisodeList.tsx` with ordered episode list
steps:
- Create `src/utils/ordering.ts`:
- `orderEpisodesByDate(episodes: Episode[]): Episode[]`
- Order by pubDate descending
- Handle missing dates
- `orderFeedsByDate(feeds: Feed[]): Feed[]`
- Order by lastUpdated descending
- Handle missing updates
- Create `src/components/FeedSortToggle.tsx`:
- Toggle button for date ordering
- Display current sort order
- Update parent component
- Create `src/components/EpisodeList.tsx`:
- Accept episodes array
- Apply ordering
- Display episodes in reverse chronological order
- Add keyboard navigation
tests:
- Unit: Test episode ordering
- Unit: Test feed ordering
- Unit: Test sort toggle
acceptance_criteria:
- Episodes ordered by date (newest first)
- Feeds ordered by last updated (newest first)
- Sort toggle works correctly
- Ordering persists across sessions
validation:
- Run application and check episode order
- Check feed order
- Toggle sort order
- Restart app and verify ordering persists
notes:
- Use JavaScript `sort()` with date comparison
- Handle timezone differences
- Add loading state during sort
- Cache ordered results
- Consider adding custom sort options