about summary refs log tree commit diff
path: root/bskyembed/src/labels.ts
diff options
context:
space:
mode:
Diffstat (limited to 'bskyembed/src/labels.ts')
-rw-r--r--bskyembed/src/labels.ts21
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
+  }
+}