mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 01:41:08 +02:00
Switches the feed engine to a softer reaction model: ❤️ Interessiert no longer hides the article from the feed, only adds it to the reading list and bumps the topic + source weights. The article keeps its slot in the ranked feed and gets a "❤️ gespeichert" badge in the card meta + a tinted card background so the user can see at a glance "yep, this is already in my reading list". The previous behavior — interested = save + remove from feed — was modeled on a Pocket-style "save and move on" pattern, but turns out to be confusing in a discovery-feed context: tapping a positive signal made the article disappear, which feels like punishment. Variante B (this commit) makes the destructive vs non-destructive split explicit: 👎 Nicht für mich and 🚫 Quelle ausblenden are the ones that hide articles, ❤️ is purely additive. ═══ Engine ═══ `scoreArticle()` now reads `dismissedIds` (the set of articles with not_interested or hidden reactions) for the hard-hide filter instead of the old `reactedIds` (which lumped all reaction kinds together). `interestedIds` is passed alongside so views can render the badge without re-deriving from the raw reactions array. `buildReactionSets()` is the new helper that splits the reactions into the two sets in one pass. `buildReactedIds()` is kept as a deprecated alias that returns just the dismissed set — same effect on the feed filter for any not-yet-migrated caller, and any old "interested = hidden" behavior is now lost (which is the goal). ═══ UI ═══ The feed page card body gets a `.is-saved` modifier that tints the background, the card meta row gets a saved-badge pill, and the interested button shows "Gespeichert" + a filled-in active state + disabled cursor when the article is already in the reading list. A second click on an already-saved article is a no-op now. The workbench ListView and the dashboard NewsUnreadWidget got the same engine update so the three surfaces stay in sync — the badge UI itself is only on the main feed for now since the workbench card is too narrow to fit it cleanly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| api | ||
| calc/packages/shared | ||
| calendar | ||
| cards | ||
| chat | ||
| citycorners | ||
| contacts | ||
| context | ||
| docs | ||
| guides | ||
| inventory | ||
| mana | ||
| manavoxel | ||
| memoro | ||
| moodlit | ||
| mukke | ||
| news | ||
| nutriphi | ||
| photos | ||
| picture | ||
| planta | ||
| presi | ||
| questions | ||
| skilltree | ||
| storage | ||
| times | ||
| todo | ||
| traces | ||
| uload | ||
| zitare/packages/content | ||