Add feed summary preview and pinned interest filters

- Show a 6-line cross-source summary preview in each feed row.
- Pinned, mutually-exclusive filter pills: All, F1, Uganda, East Africa,
  South Africa, Finance, Tech. "All" is news-only (F1 lives only under F1);
  regions don't overlap (East Africa excludes Uganda & South Africa).
- Categorization correctness: regions match the headline only (the backend's
  summaries/outlets are polluted by over-clustering), and F1 takes precedence
  over every other pill since the backend mis-tags F1 as tech/finance/politics.
- Finance/Tech match the backend topic; sparse filters auto-pull more pages.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Robin Kutesa
2026-06-19 01:00:39 +03:00
parent 9662c2abf6
commit 87bfb234c2
3 changed files with 132 additions and 19 deletions

View File

@@ -31,6 +31,16 @@ struct StoryRowView: View {
}
}
// Summary preview the gist, without opening the story.
if !story.summary.isEmpty {
Text(story.summary)
.font(.system(size: 13, weight: .regular))
.foregroundStyle(Color(hex: "8A8A8A"))
.lineLimit(6)
.lineSpacing(2)
.fixedSize(horizontal: false, vertical: true)
}
// Source chips
if !sourceNames.isEmpty {
SourceChips(names: sourceNames, total: story.sourceCount)