Skip to content

feat(ios): group the calendar by day and show each release's details - #357

Merged
samuelloranger merged 6 commits into
mainfrom
feat/ios-calendar-details
Oct 19, 2026
Merged

samuelloranger merged 6 commits into
mainfrom
feat/ios-calendar-details

Conversation

@samuelloranger

Copy link
Copy Markdown
Owner

Summary

The Activity → Calendar lane repeated an ISO date on every row and showed nothing else about the release. The upcoming endpoint already sends much more, so this is an iOS-only change.

  • Rows sit under sticky day headers: Today, Tomorrow, or the weekday and date (the year only when it isn't the current one).
  • Each row adds one quiet facts line: kind, episode or episode range (S1 E3–4 when several air the same day), TMDB score, and a green "In library" when the title is already there.
  • A two-line synopsis and up to five streaming-provider logos, when TMDB has them.
  • The day grouping and header labels live in RawkoonKit (UpcomingCalendar) with unit tests.
  • A DEBUG-only RAWKOON_ACTIVITY_LANE launch variable opens an Activity lane directly, for simulator screenshots.

Localization

New strings Tomorrow and Date to be announced have French entries. The kind label avoids a ternary so Show/Movie resolve through the catalog. scripts/check-l10n.py passes.

Verification

  • xcodebuild simulator build on macOS: succeeded.
  • swift test --filter "UpcomingCalendarTests|UpcomingReleaseTests": 9 tests, 0 failures.
  • Ran the lane on the simulator in French against real data: headers, kind, episode range and the library marker render translated.

The calendar lane repeated an ISO date on every row and showed nothing
else. Rows now sit under sticky day headers (Today, Tomorrow, or the
weekday and date) and carry the kind, the episode range, the TMDB score,
whether the title is already in the library, a two-line synopsis and the
streaming providers, all of which the upcoming endpoint already sends.
@samuelloranger
samuelloranger merged commit 59ae6b6 into main Oct 19, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant