diff --git a/crates/adapters/template-askama/templates/activity_feed.html b/crates/adapters/template-askama/templates/activity_feed.html
index 97ce7042..b9a93a3e 100644
--- a/crates/adapters/template-askama/templates/activity_feed.html
+++ b/crates/adapters/template-askama/templates/activity_feed.html
@@ -45,9 +45,8 @@
{% if let Some(wm) = entry.review().watch_medium() %}
{{ wm.label() }}
{% endif %}
- {% let author = ctx.is_current_user(entry.review().user_id().value()) %}
{% if let Some(comment) = entry.review().comment() %}
- {% if !author && entry.review().spoilers() %}
+ {% if entry.review().spoilers() %}
Contains spoilers
{{ comment.value() }} diff --git a/crates/adapters/template-askama/templates/movie_detail.html b/crates/adapters/template-askama/templates/movie_detail.html index ab5606f1..20fc6456 100644 --- a/crates/adapters/template-askama/templates/movie_detail.html +++ b/crates/adapters/template-askama/templates/movie_detail.html @@ -129,9 +129,8 @@ ★ {% endfor %} - {% let author = ctx.is_current_user(entry.review().user_id().value()) %} {% if let Some(comment) = entry.review().comment() %} - {% if !author && entry.review().spoilers() %} + {% if entry.review().spoilers() %}Contains spoilers
{{ comment.value() }} diff --git a/crates/adapters/template-askama/templates/profile.html b/crates/adapters/template-askama/templates/profile.html index d431260e..a4111264 100644 --- a/crates/adapters/template-askama/templates/profile.html +++ b/crates/adapters/template-askama/templates/profile.html @@ -219,9 +219,8 @@ ★ {% endfor %} - {% let author = ctx.is_current_user(entry.review().user_id().value()) %} {% if let Some(comment) = entry.review().comment() %} - {% if !author && entry.review().spoilers() %} + {% if entry.review().spoilers() %}Contains spoilers
{{ comment.value() }} diff --git a/spa/src/components/community-reviews.tsx b/spa/src/components/community-reviews.tsx index b6edd7da..d9e9d3e7 100644 --- a/spa/src/components/community-reviews.tsx +++ b/spa/src/components/community-reviews.tsx @@ -10,12 +10,10 @@ import type { SocialReviewDto } from "@/features/movies" type CommunityReviewsProps = { reviews: { items: SocialReviewDto[] } - /** Authenticated viewer id — own reviews are never veiled. */ - currentUserId?: string onShowDetail?: (review: SocialReviewDto) => void } -export function CommunityReviews({ reviews, currentUserId, onShowDetail }: CommunityReviewsProps) { +export function CommunityReviews({ reviews, onShowDetail }: CommunityReviewsProps) { const { t } = useTranslation() return ( @@ -26,7 +24,7 @@ export function CommunityReviews({ reviews, currentUserId, onShowDetail }: Commu ) : (diff --git a/spa/src/components/spoiler-veil.tsx b/spa/src/components/spoiler-veil.tsx index 62161212..034f8359 100644 --- a/spa/src/components/spoiler-veil.tsx +++ b/spa/src/components/spoiler-veil.tsx @@ -10,8 +10,8 @@ type SpoilerVeilProps = { } /** - * Hides review text behind a blur with a reveal button — shown to everyone - * except the review's author. Once revealed, the text stays visible. + * Hides review text behind a blur with a reveal button — shown to every + * viewer, the author included. Once revealed, the text stays visible. */ export function SpoilerVeil({ content, className }: SpoilerVeilProps) { const { t } = useTranslation() diff --git a/spa/src/components/viewing-history.tsx b/spa/src/components/viewing-history.tsx index 0fbeecd5..6590765e 100644 --- a/spa/src/components/viewing-history.tsx +++ b/spa/src/components/viewing-history.tsx @@ -1,6 +1,7 @@ import { useTranslation } from "react-i18next" import { TrendingUp } from "lucide-react" import { StarDisplay } from "@/components/star-display" +import { SpoilerVeil } from "@/components/spoiler-veil" import { shortDate } from "@/lib/date" import type { ReviewHistoryResponse } from "@/features/movies" @@ -24,7 +25,11 @@ export function ViewingHistory({ history }: { history: ReviewHistoryResponse })
{shortDate(v.watched_at)}
{v.comment && ( -{v.comment}
+ v.spoilers ? ( +{v.comment}
+ ) )}