Background
On This Day surfaces historical events that occurred on the current calendar date across different years. It connects readers to Wikipedia's depth of historical content and gives the feed a sense of temporal context and discovery. The module is designed to feel like an interactive timeline — giving readers a sense of traveling through history as they scroll, rather than reading a static list of events.
User Story
As a reader browsing the Community feed, I want to see significant historical events that happened on today's date in an engaging visual format, so that I can explore Wikipedia's historical content and feel a sense of how events connect across time.
Requirements
- The module should display the title "On this day" with the subtitle "Discover historical events from this day"
- Events should be displayed as a timeline. A continuous thread should run with the cards, with each card anchored to a node point on the line representing its year
- At least 1 randomly chosen event should be previewed in the Feed, with the option to expand into a timeline to explore
- Each card should display the year prominently at the top, "X years ago" in smaller text below it, an article thumbnail image, and a short description
- Each article card should have its own three dot menu for individual card actions (same options as existing longpress menu)
- Cards should be ordered chronologically
- The three dot more menu should be present on the module per the shared menu behavior
- Content should be sourced from the user's selected language wiki. If the module does not exist in the selected language wiki it should be hidden
- More option leads to existing "On this day" timeline view
- The On This Day widget should continue to open up On this day list view as before.
Design Link
Android task for reference
https://phabricator.wikimedia.org/T418910
Toni Handoff Notes
Based on progress at PR https://github.com/wikimedia/wikipedia-ios/pull/5995
Things remaining todo:
The module should display the title "On this day" with the subtitle "Discover historical events from this day"
Needs subtitle
Events should be displayed as a timeline. A continuous thread should run with the cards, with each card anchored to a node point on the line representing its year
UI is very bare-bones right now. We need to build this out. Ensure UI fits our patterns (WMFFont, WMFLocalizedString, etc), lays out properly on multiple devices sizes + iPad, lays out well on rotation. Theming works. Voice Over works.
At least 1 randomly chosen event should be previewed in the Feed, with the option to expand into a timeline to explore.
Currently it's just grabbing the first two events, not random.
Each card should display the year prominently at the top, "X years ago" in smaller text below it, an article thumbnail image, and a short description
We should double-check the relative date-formatting here, not sure if it's using a shared static date formatter.
Each article card should have its own three dot menu for individual card actions (same options as existing longpress menu)
Needs this three-dot menu added. Note article cards are re-using WMFAsyncPageRow component, but we may consider making a new component for this since it has new UI.
The three dot more menu should be present on the module per the shared menu behavior
Icon UI just needs to fine-tuned (WMFSFSymbolIcon)
More option leads to existing "On this day" timeline view
Need the link button. Also need to navigate to this full timeline view. NOTE: the full timeline view is an old crusty legacy view. We can probably map these models to what the old view accepts, and push on the old view. But ideally, we can rewrite the old legacy view as well into SwiftUI / WMFComponents (T413388).