Files
PodTui/tasks/podcast-tui-app/32-feed-detail.md
Michael Freno f08afb2ed1 init
2026-02-03 23:29:36 -05:00

1.7 KiB

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