diff options
Diffstat (limited to 'src/state/models/ui/preferences.ts')
-rw-r--r-- | src/state/models/ui/preferences.ts | 15 |
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 } } |