diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-12-04 12:53:25 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-04 12:53:25 -0800 |
commit | 37cafb080bb7a2892d20a991a49953c08dbe2763 (patch) | |
tree | 26970a1d94609e4f237bad0d65dcc506a56ac196 /src/view/com/util/post-embeds/index.tsx | |
parent | a46059ca465e6f4d27930f3e520686966cae1b41 (diff) | |
download | voidsky-37cafb080bb7a2892d20a991a49953c08dbe2763.tar.zst |
Fix: distinguish between post media and quotes with the moderation hider (#2075)
* Fix: distinguish between post media and quotes with the moderation hider * Type fixes
Diffstat (limited to 'src/view/com/util/post-embeds/index.tsx')
-rw-r--r-- | src/view/com/util/post-embeds/index.tsx | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/view/com/util/post-embeds/index.tsx b/src/view/com/util/post-embeds/index.tsx index ca3bf1104..5c16a3b3e 100644 --- a/src/view/com/util/post-embeds/index.tsx +++ b/src/view/com/util/post-embeds/index.tsx @@ -16,6 +16,7 @@ import { AppBskyFeedDefs, AppBskyGraphDefs, ModerationUI, + PostModeration, } from '@atproto/api' import {Link} from '../Link' import {ImageLayoutGrid} from '../images/ImageLayoutGrid' @@ -28,8 +29,9 @@ import {getYoutubeVideoId} from 'lib/strings/url-helpers' import {MaybeQuoteEmbed} from './QuoteEmbed' import {AutoSizedImage} from '../images/AutoSizedImage' import {ListEmbed} from './ListEmbed' -import {isCauseALabelOnUri} from 'lib/moderation' +import {isCauseALabelOnUri, isQuoteBlurred} from 'lib/moderation' import {FeedSourceCard} from 'view/com/feeds/FeedSourceCard' +import {ContentHider} from '../moderation/ContentHider' type Embed = | AppBskyEmbedRecord.View @@ -41,10 +43,12 @@ type Embed = export function PostEmbeds({ embed, moderation, + moderationDecisions, style, }: { embed?: Embed moderation: ModerationUI + moderationDecisions?: PostModeration['decisions'] style?: StyleProp<ViewStyle> }) { const pal = usePalette('default') @@ -55,14 +59,17 @@ export function PostEmbeds({ // = if (AppBskyEmbedRecordWithMedia.isView(embed)) { const isModOnQuote = - AppBskyEmbedRecord.isViewRecord(embed.record.record) && - isCauseALabelOnUri(moderation.cause, embed.record.record.uri) + (AppBskyEmbedRecord.isViewRecord(embed.record.record) && + isCauseALabelOnUri(moderation.cause, embed.record.record.uri)) || + (moderationDecisions && isQuoteBlurred(moderationDecisions)) const mediaModeration = isModOnQuote ? {} : moderation const quoteModeration = isModOnQuote ? moderation : {} return ( <View style={[styles.stackContainer, style]}> <PostEmbeds embed={embed.media} moderation={mediaModeration} /> - <MaybeQuoteEmbed embed={embed.record} moderation={quoteModeration} /> + <ContentHider moderation={quoteModeration}> + <MaybeQuoteEmbed embed={embed.record} moderation={quoteModeration} /> + </ContentHider> </View> ) } |