// Metro module 13855 (f13856). import { useMemo, useCallback } from "react"; import FamilyCenterControlledSettingsStore from "../FamilyCenterControlledSettingsStore"; import { SafetyToastType } from "../../safety_common/Constants"; import { useSelectedTeen, useSelectedTeenId } from "./useSelectedTeen"; import { ParentalControlledExplicitContent, ParentalControlledGoreContent, ParentalControlledDefaultGuildsRestricted, ParentalControlledDefaultGuildsRestrictedV2, ParentalControlledFriendSourceFlags } from "../../user_settings/family_center/ParentalControlledUserSettings"; import { resolveExplicitContentSettingWithDefaultsForTeen, isSetAndNotDefault } from "../FamilyCenterControlledSettingsUtils"; import { ExplicitContentRedaction } from "../../../_bundle/Module1306"; import { resolveGoreSettingWithDefaultsForTeen } from "../../explicit_media_redaction/SensitiveMediaGoreRedactionSettingsUtils"; import { computeFlags } from "../../../utils/UserSettingsUtils"; import { useHasActiveParentLinks } from "./useUserLinks"; import { useStateFromStores } from "../../../_bundle/Module589"; import FamilyCenterActionCreators from "../FamilyCenterActionCreators"; import SafetyToastsActionCreators_native from "../../safety_common/SafetyToastsActionCreators.native"; let env9655 = {}; export function useParentalControlledExplicitContentSettings() { const selectedTeen = useSelectedTeen(); const controlledSetting2 = ParentalControlledExplicitContent.useControlledSetting(selectedTeen?.id); return selectedTeen == null ? null : { explicitContentNonFriendDm: resolveExplicitContentSettingWithDefaultsForTeen({ teenId: selectedTeen?.id, setting: controlledSetting2?.explicitContentNonFriendDm }), explicitContentFriendDm: resolveExplicitContentSettingWithDefaultsForTeen({ teenId: selectedTeen?.id, setting: controlledSetting2?.explicitContentFriendDm, isFriend: true }), explicitContentGuilds: ExplicitContentRedaction.BLUR }; } export function useParentalControlledGoreContentSettings() { const selectedTeen = useSelectedTeen(); let r16 = ParentalControlledGoreContent.useControlledSetting(selectedTeen?.id); if (selectedTeen == null) { return null; } if (r16 == null) { r16 = {}; } let goreContentNonFriendDm = r16.goreContentNonFriendDm; let goreContentFriendDm = r16.goreContentFriendDm; if (!isSetAndNotDefault(goreContentNonFriendDm)) { goreContentNonFriendDm = resolveGoreSettingWithDefaultsForTeen({ isDm: true }); } if (!isSetAndNotDefault(goreContentFriendDm)) { goreContentFriendDm = resolveGoreSettingWithDefaultsForTeen({ isDm: true, isFriend: true }); } return { goreContentNonFriendDm, goreContentFriendDm, goreContentGuilds: ExplicitContentRedaction.BLUR }; } export function useDefaultGuildsRestricted() { const selectedTeen = useSelectedTeen(); const controlledSetting2 = ParentalControlledDefaultGuildsRestricted.useControlledSetting(selectedTeen?.id); let r22 = ParentalControlledDefaultGuildsRestrictedV2.useControlledSetting(selectedTeen?.id); if (r22 == null) { r22 = !!controlledSetting2 || controlledSetting2; } return r22; } export function useAllowFriendsFromMutualGuildsOnlyForTeen() { const id = useSelectedTeen()?.id; const controlledSetting = ParentalControlledFriendSourceFlags.useControlledSetting(id); const memo = useMemo(() => computeFlags(controlledSetting), [controlledSetting]); return memo.mutualGuilds && !memo.all; } export function useIsParentallyControlled() { return useHasActiveParentLinks(); } export function useParentalControlledConsent(a0) { let env20758; let c20759_0; const selectedTeenId = useSelectedTeenId(); const stateFromStores = useStateFromStores([FamilyCenterControlledSettingsStore], () => FamilyCenterControlledSettingsStore.hasConsented(selectedTeenId, a0)); env20758 = { $parent: env9655 }; env20758[0] = a0; env20758[1] = void 0; const selectedTeenId2 = useSelectedTeenId(); env20758[1] = selectedTeenId2; c20759_0 = void 0; c20759_0 = async (c31701_0) => { let c31701_4 = 0; L19: { try { const r18 = env20758[1]; if (r18 != null) { const r17 = c31701_0 ? [env20758[0]] : []; const r31 = c31701_0 ? [] : [env20758[0]]; c31701_4 = 1; await FamilyCenterActionCreators.updateTeenConsents(r18, r17, r31); c31701_4 = 0; break L19; } } catch ($e) { let r7 = $e; if (c31701_4 !== 0) { while (true) { try { c31701_4 = 0; SafetyToastsActionCreators_native.showFailedToast(SafetyToastType.GENERIC_ERROR); break L19; } catch ($e) { r7 = $e; if (c31701_4 === 0) { break; } } } } throw r7; } return void 0; } }; return { hasConsented: stateFromStores, updateConsent: useCallback(function() { return c20759_0.apply(this, arguments); }, [selectedTeenId2, a0]) }; }