about summary refs log tree commit diff
path: root/src/lib/labeling
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/labeling')
-rw-r--r--src/lib/labeling/const.ts18
-rw-r--r--src/lib/labeling/helpers.ts8
-rw-r--r--src/lib/labeling/types.ts7
3 files changed, 31 insertions, 2 deletions
diff --git a/src/lib/labeling/const.ts b/src/lib/labeling/const.ts
index f219cdb79..54cc732b9 100644
--- a/src/lib/labeling/const.ts
+++ b/src/lib/labeling/const.ts
@@ -6,7 +6,23 @@ export const ILLEGAL_LABEL_GROUP: LabelValGroup = {
   title: 'Illegal Content',
   warning: 'Illegal Content',
   values: ['csam', 'dmca-violation', 'nudity-nonconsentual'],
-  imagesOnly: false, // not applicable
+  imagesOnly: false,
+}
+
+export const ALWAYS_FILTER_LABEL_GROUP: LabelValGroup = {
+  id: 'always-filter',
+  title: 'Content Warning',
+  warning: 'Content Warning',
+  values: ['!filter'],
+  imagesOnly: false,
+}
+
+export const ALWAYS_WARN_LABEL_GROUP: LabelValGroup = {
+  id: 'always-warn',
+  title: 'Content Warning',
+  warning: 'Content Warning',
+  values: ['!warn'],
+  imagesOnly: false,
 }
 
 export const UNKNOWN_LABEL_GROUP: LabelValGroup = {
diff --git a/src/lib/labeling/helpers.ts b/src/lib/labeling/helpers.ts
index 5ec591cfb..71ea43c08 100644
--- a/src/lib/labeling/helpers.ts
+++ b/src/lib/labeling/helpers.ts
@@ -8,6 +8,8 @@ import {
 import {
   CONFIGURABLE_LABEL_GROUPS,
   ILLEGAL_LABEL_GROUP,
+  ALWAYS_FILTER_LABEL_GROUP,
+  ALWAYS_WARN_LABEL_GROUP,
   UNKNOWN_LABEL_GROUP,
 } from './const'
 import {
@@ -34,6 +36,12 @@ export function getLabelValueGroup(labelVal: string): LabelValGroup {
     if (ILLEGAL_LABEL_GROUP.values.includes(labelVal)) {
       return ILLEGAL_LABEL_GROUP
     }
+    if (ALWAYS_FILTER_LABEL_GROUP.values.includes(labelVal)) {
+      return ALWAYS_FILTER_LABEL_GROUP
+    }
+    if (ALWAYS_WARN_LABEL_GROUP.values.includes(labelVal)) {
+      return ALWAYS_WARN_LABEL_GROUP
+    }
     if (CONFIGURABLE_LABEL_GROUPS[id].values.includes(labelVal)) {
       return CONFIGURABLE_LABEL_GROUPS[id]
     }
diff --git a/src/lib/labeling/types.ts b/src/lib/labeling/types.ts
index 20ecaa5b5..123c5d1f3 100644
--- a/src/lib/labeling/types.ts
+++ b/src/lib/labeling/types.ts
@@ -4,7 +4,12 @@ import {LabelPreferencesModel} from 'state/models/ui/preferences'
 export type Label = ComAtprotoLabelDefs.Label
 
 export interface LabelValGroup {
-  id: keyof LabelPreferencesModel | 'illegal' | 'unknown'
+  id:
+    | keyof LabelPreferencesModel
+    | 'illegal'
+    | 'always-filter'
+    | 'always-warn'
+    | 'unknown'
   title: string
   imagesOnly: boolean
   subtitle?: string