diff --git a/src/components/post-mobile/post-mobile.tsx b/src/components/post-mobile/post-mobile.tsx index 037b5563..40c9b442 100644 --- a/src/components/post-mobile/post-mobile.tsx +++ b/src/components/post-mobile/post-mobile.tsx @@ -197,7 +197,7 @@ const PostInfoAndMedia = ({ post, postReplyCount = 0, roles, threadNumber }: Pos const handleUserAddressClick = useAuthorAddressClick(); const numberOfPostsByAuthor = (() => { - if (!showUserID || deleted || removed || !shortAddress || !postCid || typeof document === 'undefined') { + if (!showUserID || deleted || removed || purged || !shortAddress || !postCid || typeof document === 'undefined') { return 0; } diff --git a/src/lib/utils/__tests__/quote-link-utils.test.ts b/src/lib/utils/__tests__/quote-link-utils.test.ts index c406d9b1..75009dbd 100644 --- a/src/lib/utils/__tests__/quote-link-utils.test.ts +++ b/src/lib/utils/__tests__/quote-link-utils.test.ts @@ -11,13 +11,15 @@ describe('quote-link-utils', () => { expect(getQuoteTargetAvailability(undefined)).toBe('unresolved'); expect(getQuoteTargetAvailability({ deleted: true, removed: false })).toBe('unavailable'); expect(getQuoteTargetAvailability({ deleted: false, removed: true })).toBe('unavailable'); + expect(getQuoteTargetAvailability({ deleted: false, removed: false, commentModeration: { purged: true } })).toBe('unavailable'); expect(getQuoteTargetAvailability({ deleted: false, removed: false })).toBe('available'); }); - it('marks deleted and removed comments as unavailable quote targets', () => { + it('marks deleted, removed, and purged comments as unavailable quote targets', () => { expect(isUnavailableQuoteTarget(undefined)).toBe(false); expect(isUnavailableQuoteTarget({ deleted: true, removed: false })).toBe(true); expect(isUnavailableQuoteTarget({ deleted: false, removed: true })).toBe(true); + expect(isUnavailableQuoteTarget({ deleted: false, removed: false, commentModeration: { purged: true } })).toBe(true); expect(isUnavailableQuoteTarget({ deleted: false, removed: false })).toBe(false); }); diff --git a/src/lib/utils/quote-link-utils.ts b/src/lib/utils/quote-link-utils.ts index f2ec0148..330047d8 100644 --- a/src/lib/utils/quote-link-utils.ts +++ b/src/lib/utils/quote-link-utils.ts @@ -4,15 +4,17 @@ type QuoteTargetAvailability = 'available' | 'unresolved' | 'unavailable'; export const formatQuoteNumber = (number?: number) => `>>${number ?? '?'}`; -export const getQuoteTargetAvailability = (comment?: Partial> | null): QuoteTargetAvailability => { +type QuoteTargetComment = Partial>; + +export const getQuoteTargetAvailability = (comment?: QuoteTargetComment | null): QuoteTargetAvailability => { if (!comment) { return 'unresolved'; } - return comment.deleted || comment.removed ? 'unavailable' : 'available'; + return comment.deleted || comment.removed || comment.commentModeration?.purged ? 'unavailable' : 'available'; }; -export const isUnavailableQuoteTarget = (comment?: Partial> | null) => getQuoteTargetAvailability(comment) === 'unavailable'; +export const isUnavailableQuoteTarget = (comment?: QuoteTargetComment | null) => getQuoteTargetAvailability(comment) === 'unavailable'; export const shouldShowFloatingQuotePreview = ({ hoveredCid,