diff options
author | Mary <148872143+mary-ext@users.noreply.github.com> | 2024-01-23 06:55:51 +0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-22 15:55:51 -0800 |
commit | 55ad808785bdfb390e90b8119765aa34a055f07f (patch) | |
tree | 56dbb734e08aa077aa0a1fb417a3256379e8647e /src/view/com/post-thread/PostThread.tsx | |
parent | 7ca6ba2e1cb3a3309abf45ecae343008bd4383f6 (diff) | |
download | voidsky-55ad808785bdfb390e90b8119765aa34a055f07f.tar.zst |
fix: don't expose post content on no-unauthenticated (#2584)
Diffstat (limited to 'src/view/com/post-thread/PostThread.tsx')
-rw-r--r-- | src/view/com/post-thread/PostThread.tsx | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/view/com/post-thread/PostThread.tsx b/src/view/com/post-thread/PostThread.tsx index 379fe4f99..6ffede9a5 100644 --- a/src/view/com/post-thread/PostThread.tsx +++ b/src/view/com/post-thread/PostThread.tsx @@ -36,11 +36,13 @@ import {Trans, msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import { UsePreferencesQueryResponse, + useModerationOpts, usePreferencesQuery, } from '#/state/queries/preferences' import {useSession} from '#/state/session' import {isNative} from '#/platform/detection' import {logger} from '#/logger' +import {moderatePost_wrapped as moderatePost} from '#/lib/moderatePost_wrapped' const MAINTAIN_VISIBLE_CONTENT_POSITION = {minIndexForVisible: 2} @@ -79,14 +81,30 @@ export function PostThread({ data: thread, } = usePostThreadQuery(uri) const {data: preferences} = usePreferencesQuery() + const rootPost = thread?.type === 'post' ? thread.post : undefined const rootPostRecord = thread?.type === 'post' ? thread.record : undefined + const moderationOpts = useModerationOpts() + const isNoPwi = React.useMemo(() => { + const mod = + rootPost && moderationOpts + ? moderatePost(rootPost, moderationOpts) + : undefined + + const cause = mod?.content.cause + + return cause + ? cause.type === 'label' && cause.labelDef.id === '!no-unauthenticated' + : false + }, [rootPost, moderationOpts]) + useSetTitle( - rootPost && - `${sanitizeDisplayName( - rootPost.author.displayName || `@${rootPost.author.handle}`, - )}: "${rootPostRecord?.text}"`, + rootPost && !isNoPwi + ? `${sanitizeDisplayName( + rootPost.author.displayName || `@${rootPost.author.handle}`, + )}: "${rootPostRecord!.text}"` + : '', ) useEffect(() => { if (rootPost) { |