Skip to content

Add modern timeline UI with thumbnail previews#5336

Open
desperadoxhy wants to merge 1 commit into
Ranchero-Software:mainfrom
desperadoxhy:feature/modern-timeline-ui
Open

Add modern timeline UI with thumbnail previews#5336
desperadoxhy wants to merge 1 commit into
Ranchero-Software:mainfrom
desperadoxhy:feature/modern-timeline-ui

Conversation

@desperadoxhy

Copy link
Copy Markdown

Implements a modern, Apple News-style horizontal split layout for the timeline, addressing #4981 (Modern UI Refresh for Lists).

What's added

A new timeline cell: the left side shows the feed icon, title, and summary; the right side shows a thumbnail when the article has an image.

macOS — TimelineModernCellView

  • Manual frame layout via TimelineModernCellLayout (per the project guideline that table-view cells don't use Auto Layout, for performance)
  • isFlipped so coordinates run top-down
  • Reuse-safe thumbnail loading (NSTableView has no prepareForReuse callback)

iOS — MainTimelineModernCell

  • Auto Layout self-sizing cell

Shared — ArticleImageExtractor

  • Resolves an article's image URL: the declared imageURL, or the first `` / image URL found in the content
  • Thumbnails are center-cropped to a square and cached

Behavior (both platforms)

  • Title wraps to at most 2 lines; the summary line count adjusts so a 2-line title gets a 1-line summary and a 1-line title gets a 2-line summary
  • Read state dims the title color
  • Metadata shows the feed name

Coverage of #4981

  • ✅ Thumbnail previews in the list
  • ⚠️ Feed icon is 20pt here (the issue suggests 16pt) — happy to adjust
  • ❌ Unread marker refinement is not included in this PR

Notes

  • Builds clean on macOS and iOS (no warnings from these files)
  • All new classes are `final`; no `@objc`, no KVO, no console output
  • Local-only changes (signing config, an unrelated xib) were intentionally excluded

Refs #4981.

Add a modern, Apple News-style horizontal split layout to the timeline (left: feed icon, title, summary; right: thumbnail) on macOS and iOS. The macOS cell uses manual frame layout per project guidelines (no Auto Layout in table cells); the iOS cell uses Auto Layout self-sizing. Thumbnails are center-cropped to a square and cached; the title wraps to at most 2 lines and the summary line count adjusts to match (2-line title -> 1-line summary, 1-line title -> 2-line summary). Read state dims the title; metadata shows the feed name.

Refs Ranchero-Software#4981
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