diff options
Diffstat (limited to 'bskyembed/src/labels.ts')
-rw-r--r-- | bskyembed/src/labels.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/bskyembed/src/labels.ts b/bskyembed/src/labels.ts new file mode 100644 index 000000000..ff3d91bc7 --- /dev/null +++ b/bskyembed/src/labels.ts @@ -0,0 +1,21 @@ +import {AppBskyFeedDefs} from '@atproto/api' + +export const CONTENT_LABELS = ['porn', 'sexual', 'nudity', 'graphic-media'] + +export function labelsToInfo( + labels?: AppBskyFeedDefs.PostView['labels'], +): string | undefined { + const label = labels?.find(label => CONTENT_LABELS.includes(label.val)) + + switch (label?.val) { + case 'porn': + case 'sexual': + return 'Adult Content' + case 'nudity': + return 'Non-sexual Nudity' + case 'graphic-media': + return 'Graphic Media' + default: + return undefined + } +} |