diff --git a/src/ageAssurance/util.ts b/src/ageAssurance/util.ts index 51213d67c4..e31f89b14e 100644 --- a/src/ageAssurance/util.ts +++ b/src/ageAssurance/util.ts @@ -3,9 +3,11 @@ import { ageAssuranceRuleIDs as ids, type AppBskyAgeassuranceDefs, getAgeAssuranceRegionConfig, + type ModerationPrefs, } from '@atproto/api' import {getAge} from '#/lib/strings/time' +import {DEFAULT_LOGGED_OUT_LABEL_PREFERENCES} from '#/state/queries/preferences/moderation' import {useAgeAssuranceDataContext} from '#/ageAssurance/data' import {AgeAssuranceAccess} from '#/ageAssurance/types' import {type Geolocation, useGeolocation} from '#/geolocation' @@ -95,3 +97,11 @@ export function getBirthdateStringFromAge(age: number) { today.getDate() - 1, // set to day before to ensure age is reached ).toISOString() } + +export const makeAgeRestrictedModerationPrefs = ( + prefs: ModerationPrefs, +): ModerationPrefs => ({ + ...prefs, + adultContentEnabled: false, + labels: DEFAULT_LOGGED_OUT_LABEL_PREFERENCES, +}) diff --git a/src/state/queries/preferences/index.ts b/src/state/queries/preferences/index.ts index 0cf6ab5469..9daacc3a8b 100644 --- a/src/state/queries/preferences/index.ts +++ b/src/state/queries/preferences/index.ts @@ -23,6 +23,7 @@ import { import {useAgent} from '#/state/session' import {saveLabelers} from '#/state/session/agent-config' import {useAgeAssurance} from '#/ageAssurance' +import {makeAgeRestrictedModerationPrefs} from '#/ageAssurance/util' export * from '#/state/queries/preferences/const' export * from '#/state/queries/preferences/moderation' @@ -81,7 +82,9 @@ export function usePreferencesQuery() { if (aa.state.access !== aa.Access.Full) { data = { ...data, - moderationPrefs: DEFAULT_LOGGED_OUT_PREFERENCES.moderationPrefs, + moderationPrefs: makeAgeRestrictedModerationPrefs( + data.moderationPrefs, + ), } } return data