From e5cf23b3b5811bd579fb48bd20a846168983eaa9 Mon Sep 17 00:00:00 2001 From: Nishiki Date: Thu, 11 Jun 2026 01:14:53 -0700 Subject: [PATCH] [Glitch] fix: sensitive media card display Port 40bf2dca1e41cb5aeaae933ae886fc02d8fa7d56 to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/status/components/card.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/javascript/flavours/glitch/features/status/components/card.tsx b/app/javascript/flavours/glitch/features/status/components/card.tsx index 2b3a068fb4..4595936cee 100644 --- a/app/javascript/flavours/glitch/features/status/components/card.tsx +++ b/app/javascript/flavours/glitch/features/status/components/card.tsx @@ -11,7 +11,7 @@ import { Blurhash } from 'flavours/glitch/components/blurhash'; import { Icon } from 'flavours/glitch/components/icon'; import { MoreFromAuthor } from 'flavours/glitch/components/more_from_author'; import { RelativeTimestamp } from 'flavours/glitch/components/relative_timestamp'; -import { useBlurhash } from 'flavours/glitch/initial_state'; +import { displayMedia, useBlurhash } from 'flavours/glitch/initial_state'; import type { Card as CardType } from 'flavours/glitch/models/status'; import { decode as decodeIDNA } from 'flavours/glitch/utils/idna'; @@ -49,6 +49,8 @@ const handleIframeUrl = (html: string, url: string, providerName: string) => { return html; }; +const hideAllMedia = displayMedia === 'hide_all'; + interface CardProps { card: CardType | null; sensitive?: boolean; @@ -73,7 +75,7 @@ const CardVideo: React.FC> = ({ card }) => ( const Card: React.FC = ({ card, sensitive }) => { const [previewLoaded, setPreviewLoaded] = useState(false); const [embedded, setEmbedded] = useState(false); - const [revealed, setRevealed] = useState(!sensitive); + const [revealed, setRevealed] = useState(!sensitive && !hideAllMedia); const handleEmbedClick = useCallback(() => { setEmbedded(true); @@ -269,6 +271,7 @@ const Card: React.FC = ({ card, sensitive }) => { embed = (
{canvas} + {revealed ? undefined : spoilerButton} {thumbnail}
);