about summary refs log tree commit diff
path: root/src/components/moderation/PostHider.tsx
diff options
context:
space:
mode:
authorFrudrax Cheng <i@cynosura.one>2024-06-19 14:41:03 +0800
committerGitHub <noreply@github.com>2024-06-19 14:41:03 +0800
commitbdc1ea897fa4e1a2bb0fbd405564e98aca36f973 (patch)
treea412067a09e0c34d7d83496842ebd0e0e57f4b9d /src/components/moderation/PostHider.tsx
parenta6d49062e6d50b7c9a6c0d50c38fcfeb8f63e46f (diff)
parent8788708bd229ee8a7049285b2e520cc657b41c00 (diff)
downloadvoidsky-bdc1ea897fa4e1a2bb0fbd405564e98aca36f973.tar.zst
Merge branch 'bluesky-social:main' into zh
Diffstat (limited to 'src/components/moderation/PostHider.tsx')
-rw-r--r--src/components/moderation/PostHider.tsx12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/components/moderation/PostHider.tsx b/src/components/moderation/PostHider.tsx
index 8a6474297..b6fb17452 100644
--- a/src/components/moderation/PostHider.tsx
+++ b/src/components/moderation/PostHider.tsx
@@ -1,6 +1,6 @@
 import React, {ComponentProps} from 'react'
 import {Pressable, StyleProp, StyleSheet, View, ViewStyle} from 'react-native'
-import {AppBskyActorDefs, ModerationUI} from '@atproto/api'
+import {AppBskyActorDefs, ModerationCause, ModerationUI} from '@atproto/api'
 import {msg, Trans} from '@lingui/macro'
 import {useLingui} from '@lingui/react'
 import {useQueryClient} from '@tanstack/react-query'
@@ -45,7 +45,8 @@ export function PostHider({
   const [override, setOverride] = React.useState(false)
   const control = useModerationDetailsDialogControl()
   const blur =
-    modui.blurs[0] || (interpretFilterAsBlur ? modui.filters[0] : undefined)
+    modui.blurs[0] ||
+    (interpretFilterAsBlur ? getBlurrableFilter(modui) : undefined)
   const desc = useModerationCauseDescription(blur)
 
   const onBeforePress = React.useCallback(() => {
@@ -134,6 +135,13 @@ export function PostHider({
   )
 }
 
+function getBlurrableFilter(modui: ModerationUI): ModerationCause | undefined {
+  // moderation causes get "downgraded" when they originate from embedded content
+  // a downgraded cause should *only* drive filtering in feeds, so we want to look
+  // for filters that arent downgraded
+  return modui.filters.find(filter => !filter.downgraded)
+}
+
 const styles = StyleSheet.create({
   child: {
     borderWidth: 0,