diff --git a/src/components/moderation/ContentHider.tsx b/src/components/moderation/ContentHider.tsx
index 490d1ae478..6ae9b66693 100644
--- a/src/components/moderation/ContentHider.tsx
+++ b/src/components/moderation/ContentHider.tsx
@@ -125,7 +125,7 @@ export function ContentHider({
label={_(
msg`Learn more about the moderation applied to this content.`,
)}
- style={[a.pt_xs]}>
+ style={[a.pt_sm]}>
{state => (
-
- Labeled by {sanitizeDisplayName(desc.source!)}.{' '}
-
- Learn more.
-
-
+ {desc.sourceType === 'user' ? (
+ Labeled by the author.
+ ) : (
+ Labeled by {sanitizeDisplayName(desc.source!)}.
+ )}{' '}
+
+ Learn more.
+
)}
diff --git a/src/components/moderation/ModerationDetailsDialog.tsx b/src/components/moderation/ModerationDetailsDialog.tsx
index 6e28c0f182..16a388d1b5 100644
--- a/src/components/moderation/ModerationDetailsDialog.tsx
+++ b/src/components/moderation/ModerationDetailsDialog.tsx
@@ -124,12 +124,16 @@ function ModerationDetailsDialogInner({
This label was applied by{' '}
- control.close()}
- style={a.text_md}>
- @{desc.source}
-
+ {modcause.source.type === 'user' ? (
+ 'the author'
+ ) : (
+ control.close()}
+ style={a.text_md}>
+ @{desc.source}
+
+ )}
.
diff --git a/src/lib/moderation/useModerationCauseDescription.ts b/src/lib/moderation/useModerationCauseDescription.ts
index 35ad8349f8..10c2b4ed28 100644
--- a/src/lib/moderation/useModerationCauseDescription.ts
+++ b/src/lib/moderation/useModerationCauseDescription.ts
@@ -1,4 +1,4 @@
-import {ModerationCause} from '@atproto/api'
+import {ModerationCause, ModerationCauseSource} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import {useGlobalLabelStrings} from './useGlobalLabelStrings'
@@ -16,6 +16,7 @@ export interface ModerationCauseDescription {
name: string
description: string
source?: string
+ sourceType?: ModerationCauseSource['type']
}
export function useModerationCauseDescription(
@@ -114,7 +115,11 @@ export function useModerationCauseDescription(
: CircleInfo,
name: strings.name,
description: strings.description,
- source: labeler?.creator.displayName || labeler?.creator.handle,
+ source:
+ labeler?.creator.displayName ||
+ (labeler?.creator.handle ? '@' + labeler?.creator.handle : undefined) ||
+ cause.label.src,
+ sourceType: cause.source.type,
}
}
// should never happen