Add Spoiler Flag with veil, AP content-warning encoding, and full-stack plumbing

Authors can flag a review's comment as containing spoilers; the comment is
blurred behind a reveal control for every viewer except the author, omitted
from RSS, and federates as containsSpoilers plus an AP summary content
warning (ADR-0011) so Mastodon-class clients also collapse it. Flag follows
the general-edit path (ADR-0001) across domain, both DB backends, REST,
HTML templates, SPA (shadcn), TUI fixtures, and exports.
This commit is contained in:
2026-10-17 21:12:56 +02:00
parent 9dd9df1f73
commit bb2001b9cc
66 changed files with 513 additions and 167 deletions

View File

@@ -22,9 +22,13 @@ impl RssFeedRenderer for RssAdapter {
e.movie().title().value(),
e.movie().release_year().value()
);
let description = match e.review().comment() {
Some(c) => format!("{}/5 — {}", e.review().rating().value(), c.value()),
None => format!("{}/5", e.review().rating().value()),
let description = match (e.review().comment(), e.review().spoilers()) {
(Some(_), true) => format!(
"{}/5 — contains spoilers",
e.review().rating().value()
),
(Some(c), false) => format!("{}/5 — {}", e.review().rating().value(), c.value()),
(None, _) => format!("{}/5", e.review().rating().value()),
};
let pub_date = e
.review()