about summary refs log tree commit diff
path: root/src/lib
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2024-09-20 14:16:23 -0500
committerGitHub <noreply@github.com>2024-09-20 14:16:23 -0500
commitc85a271ef63ac006bf10f71adae102552298b661 (patch)
treebdd21bf99a700904dd949bdf02d66ba5cfa0dc98 /src/lib
parent395edfe78f748b199be6417e9a2aac1482ac9bdc (diff)
downloadvoidsky-c85a271ef63ac006bf10f71adae102552298b661.tar.zst
Additional moderation (#5172)
* Set up additional mod authorities

* Filter out non-configurable mod authorities

* WIP

* Working

* Cleanup, add mod

* Cleanup

* Add more debug logs

* Tweak logs

* Filter out imperative labels from typeaheads

* Filter hideable content from notifications

* Add api

* Fall back in dev

* Remove space

* Use prod endpoint

* Add tiny notice

* Add notice to labeler card, show all labelers
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/moderation.ts14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/moderation.ts b/src/lib/moderation.ts
index 59d88023b..7576a9c33 100644
--- a/src/lib/moderation.ts
+++ b/src/lib/moderation.ts
@@ -33,6 +33,20 @@ export function isJustAMute(modui: ModerationUI): boolean {
   return modui.filters.length === 1 && modui.filters[0].type === 'muted'
 }
 
+export function moduiContainsHideableOffense(modui: ModerationUI): boolean {
+  const label = modui.filters.at(0)
+  if (label && label.type === 'label') {
+    return labelIsHideableOffense(label.label)
+  }
+  return false
+}
+
+export function labelIsHideableOffense(
+  label: ComAtprotoLabelDefs.Label,
+): boolean {
+  return ['!hide', '!takedown'].includes(label.val)
+}
+
 export function getLabelingServiceTitle({
   displayName,
   handle,