about summary refs log tree commit diff
path: root/bskyembed/src/labels.ts
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-04-13 03:18:18 -0700
committerGitHub <noreply@github.com>2024-04-13 11:18:18 +0100
commit826f6b043ca73f3cc459fbac62ae6de5f82e362b (patch)
tree296cd847fa76d2d0691ffdeaa59b6731714cef47 /bskyembed/src/labels.ts
parentf5bb348bf51df6f6d35eb23cdf771c184d77fec4 (diff)
downloadvoidsky-826f6b043ca73f3cc459fbac62ae6de5f82e362b.tar.zst
Moderate content in embeds (#3525)
* move info to its own file

* Revert "move info to its own file"

This reverts commit 1d45a2f4034f50cbe9cb25070f954042cdf9127a.

* better way

* all cases

* pass labelInfo to ImageEmbed

* blur avatars

* add back as string

* one more as string

* external embed

* add back as string again
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
+  }
+}