about summary refs log tree commit diff
path: root/src/state/models/ui/preferences.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/state/models/ui/preferences.ts')
-rw-r--r--src/state/models/ui/preferences.ts15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/state/models/ui/preferences.ts b/src/state/models/ui/preferences.ts
index 7b41fa746..fcd33af8e 100644
--- a/src/state/models/ui/preferences.ts
+++ b/src/state/models/ui/preferences.ts
@@ -10,15 +10,16 @@ import {
   ALWAYS_FILTER_LABEL_GROUP,
   ALWAYS_WARN_LABEL_GROUP,
 } from 'lib/labeling/const'
+import {isIOS} from 'platform/detection'
 
 const deviceLocales = getLocales()
 
 export type LabelPreference = 'show' | 'warn' | 'hide'
 
 export class LabelPreferencesModel {
-  nsfw: LabelPreference = 'warn'
-  nudity: LabelPreference = 'show'
-  suggestive: LabelPreference = 'show'
+  nsfw: LabelPreference = 'hide'
+  nudity: LabelPreference = 'warn'
+  suggestive: LabelPreference = 'warn'
   gore: LabelPreference = 'warn'
   hate: LabelPreference = 'hide'
   spam: LabelPreference = 'hide'
@@ -30,6 +31,7 @@ export class LabelPreferencesModel {
 }
 
 export class PreferencesModel {
+  adultContentEnabled = !isIOS
   contentLanguages: string[] =
     deviceLocales?.map?.(locale => locale.languageCode) || []
   contentLabels = new LabelPreferencesModel()
@@ -102,7 +104,9 @@ export class PreferencesModel {
       } else if (group.id === 'always-filter') {
         return {pref: 'hide', desc: ALWAYS_FILTER_LABEL_GROUP}
       } else if (group.id === 'always-warn') {
-        return {pref: 'warn', desc: ALWAYS_WARN_LABEL_GROUP}
+        res.pref = 'warn'
+        res.desc = ALWAYS_WARN_LABEL_GROUP
+        continue
       } else if (group.id === 'unknown') {
         continue
       }
@@ -115,6 +119,9 @@ export class PreferencesModel {
         res.desc = group
       }
     }
+    if (res.desc.isAdultImagery && !this.adultContentEnabled) {
+      res.pref = 'hide'
+    }
     return res
   }
 }