about summary refs log tree commit diff
path: root/bskyembed/src/labels.ts
blob: 2ed8dd287c067304258bbc7b45dfe5a0b829a2f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 'gore':
    case 'graphic-media':
      return 'Graphic Media'
    default:
      return undefined
  }
}