// Module ID: 4348 // Function ID: 38429 // Name: isReactiveCheckEnabled // Dependencies: [5, 57, 31, 4349, 3811, 1194, 4350, 1850, 7567, 6691, 653, 1197, 6659, 6692, 4957, 3810, 1882, 566, 11059, 686, 6697, 6690, 6664, 8063, 1212, 2717, 12756, 2] // Exports: ageGateSourceHasLightboxBackdrop, getAgeVerificationGetStartedSubtitle, getAgeVerificationGetStartedTitle, isAgeVerificationMessageWithConnectToTeenCta, isAgeVerificationMessageWithRetryCta, isAssignedByDiscord, isFullscreenAgeVerificationEntryPoint, isVerifiedAdult, isVerifiedTeen, maybePerformReactiveCheck, shouldShowTiggerPawtect, useInitiateAgeVerification, useIsExplicitlyVerifiedAdult, useIsVerifiedAdult, useIsVerifiedTeen, useMaybePerformReactiveCheckForSource, useShouldShowTiggerPawtect, useShowAssignedAgeGroupSettings, useWatchAgeVerificationStatusChange // Module 4348 (isReactiveCheckEnabled) import _isNativeReflectConstruct from "_isNativeReflectConstruct"; import _slicedToArray from "_slicedToArray"; import closure_5 from "result"; import closure_6 from "_isNativeReflectConstruct"; import closure_7 from "_isNativeReflectConstruct"; import closure_8 from "_isNativeReflectConstruct"; import closure_9 from "_isNativeReflectConstruct"; import closure_10 from "_isNativeReflectConstruct"; import closure_11 from "_isNativeReflectConstruct"; import { FULLSCREEN_AGE_VERIFICATION_ENTRY_POINTS as closure_12 } from "set"; import { MessageEmbedTypes } from "ME"; import result from "result"; import { SafetyToastType } from "SafetyToastType"; import set from "result"; let AgeGateSource; let closure_14; let require = arg1; function isReactiveCheckEnabled() { return featureAgeGated.isFeatureAgeGated(require(4957) /* AgeGatedFeature */.AgeGatedFeature.REACTIVE_CHECK); } function useIsReactiveCheckEnabled() { return require(3810) /* isFeatureAgeGated */.useIsFeatureAgeGated(require(4957) /* AgeGatedFeature */.AgeGatedFeature.REACTIVE_CHECK); } function useIsAssignedByDiscord() { const items = [closure_10]; return require(566) /* initialize */.useStateFromStores(items, () => { const currentUser = outer1_10.getCurrentUser(); let prop; if (null != currentUser) { prop = currentUser.ageVerificationStatus; } return prop === outer1_0(outer1_2[16]).AgeVerificationStatusUkAndAusOnly.INFERRED_ADULT; }); } function isAgeVerified() { const currentUser = authStore.getCurrentUser(); let prop; if (null != currentUser) { prop = currentUser.ageVerificationStatus; } let tmp3 = prop !== require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.UNVERIFIED; if (tmp3) { let prop1; if (null != currentUser) { prop1 = currentUser.ageVerificationStatus; } tmp3 = prop1 !== require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.CLIENT_ONLY_PENDING; } return tmp3; } function useIsAgeVerified() { const items = [closure_10]; const stateFromStores = require(566) /* initialize */.useStateFromStores(items, () => outer1_10.getCurrentUser()); let prop; if (null != stateFromStores) { prop = stateFromStores.ageVerificationStatus; } let tmp3 = prop !== require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.UNVERIFIED; if (tmp3) { let prop1; if (null != stateFromStores) { prop1 = stateFromStores.ageVerificationStatus; } tmp3 = prop1 !== require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.CLIENT_ONLY_PENDING; } return tmp3; } function useShouldCallReactiveCheck() { let tmp = useIsAgeVerified(); const require = tmp; const isFeatureAgeGated = require(3810) /* isFeatureAgeGated */.useIsFeatureAgeGated(require(4957) /* AgeGatedFeature */.AgeGatedFeature.REACTIVE_CHECK); const obj = require(3810) /* isFeatureAgeGated */; const items = [closure_11]; const items1 = [tmp, isFeatureAgeGated]; return require(566) /* initialize */.useStateFromStores(items, () => { let tmp = !closure_0; if (!closure_0) { let result = isFeatureAgeGated; if (isFeatureAgeGated) { result = outer1_11.shouldCallReactiveCheck(); } tmp = result; } return tmp; }, items1); } function shouldCallReactiveCheck() { const tmp = isAgeVerified(); let tmp2 = !tmp; if (!tmp) { let result = isReactiveCheckEnabled(); if (result) { result = closure_11.shouldCallReactiveCheck(); } tmp2 = result; } return tmp2; } async function _maybePerformReactiveCheck() { let tmp = null; if (outer2_26()) { tmp = yield outer2_0(outer2_2[26]).fetchReactiveCheckResult(); const obj = outer2_0(outer2_2[26]); } return tmp; } ({ AgeGateSource, REACTIVE_CHECK_AGE_GATE_SOURCES: closure_14 } = result); let items = [require("AgeVerificationModalEntryPoint").AgeVerificationModalEntryPoint.STAGE_CHANNEL_AGE_VERIFICATION_PROMPT, require("AgeVerificationModalEntryPoint").AgeVerificationModalEntryPoint.START_STAGE_PROMPT, require("AgeVerificationModalEntryPoint").AgeVerificationModalEntryPoint.STAGE_CHANNEL_RAISE_HAND]; let set = new Set(items); let items1 = [, , , , , ]; ({ NSFW_SERVER: arr2[0], NSFW_SERVER_INVITE: arr2[1], NSFW_SERVER_INVITE_EMBED: arr2[2], LARGE_GUILD: arr2[3], JOIN_LARGE_GUILD_UNDERAGE: arr2[4], ACCESS_LARGE_GUILD_UNDERAGE: arr2[5] } = AgeGateSource); const set1 = new Set(items1); let obj = { CTAS: "ctas", CONTENT_TYPE: "content_type" }; obj = { RETRY: "retry", CONNECT_TO_TEEN: "connect_to_teen" }; result = set.fileFinishedImporting("modules/age_assurance/AgeVerificationUtils.tsx"); export const ageGateSourceHasLightboxBackdrop = function ageGateSourceHasLightboxBackdrop(arg0) { return set1.has(arg0); }; export const shouldShowTiggerPawtect = function shouldShowTiggerPawtect() { const currentUser = authStore.getCurrentUser(); let prop; if (null != currentUser) { prop = currentUser.ageVerificationStatus; } let tmp3 = prop !== require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.VERIFIED_ADULT; if (tmp3) { let tmp5 = !isReactiveCheckEnabled(); if (!tmp5) { tmp5 = prop !== require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.INFERRED_ADULT; } tmp3 = tmp5; } return tmp3; }; export const useShouldShowTiggerPawtect = function useShouldShowTiggerPawtect() { const items = [closure_10]; const stateFromStores = require(566) /* initialize */.useStateFromStores(items, () => outer1_10.getCurrentUser()); let tmp2 = useIsReactiveCheckEnabled(); if (tmp2) { let prop; if (null != stateFromStores) { prop = stateFromStores.ageVerificationStatus; } tmp2 = prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.INFERRED_ADULT; } let prop1; if (null != stateFromStores) { prop1 = stateFromStores.ageVerificationStatus; } const obj = require(566) /* initialize */; return prop1 !== require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.VERIFIED_ADULT && !tmp2; }; export const isVerifiedTeen = function isVerifiedTeen() { const currentUser = authStore.getCurrentUser(); let prop; if (null != currentUser) { prop = currentUser.ageVerificationStatus; } return prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.VERIFIED_TEEN; }; export const useIsVerifiedTeen = function useIsVerifiedTeen() { const items = [closure_10]; const stateFromStores = require(566) /* initialize */.useStateFromStores(items, () => outer1_10.getCurrentUser()); let prop; if (null != stateFromStores) { prop = stateFromStores.ageVerificationStatus; } return prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.VERIFIED_TEEN; }; export const isVerifiedAdult = function isVerifiedAdult() { const currentUser = authStore.getCurrentUser(); let prop; if (null != currentUser) { prop = currentUser.ageVerificationStatus; } let tmp3 = prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.VERIFIED_ADULT; if (!tmp3) { let tmp5 = isReactiveCheckEnabled(); if (tmp5) { tmp5 = prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.INFERRED_ADULT; } tmp3 = tmp5; } return tmp3; }; export const useIsVerifiedAdult = function useIsVerifiedAdult() { const items = [closure_10]; const stateFromStores = require(566) /* initialize */.useStateFromStores(items, () => outer1_10.getCurrentUser()); let tmp2 = useIsReactiveCheckEnabled(); if (tmp2) { let prop; if (null != stateFromStores) { prop = stateFromStores.ageVerificationStatus; } tmp2 = prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.INFERRED_ADULT; } let prop1; if (null != stateFromStores) { prop1 = stateFromStores.ageVerificationStatus; } const obj = require(566) /* initialize */; return prop1 === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.VERIFIED_ADULT || tmp2; }; export const useIsExplicitlyVerifiedAdult = function useIsExplicitlyVerifiedAdult() { const items = [closure_10]; const stateFromStores = require(566) /* initialize */.useStateFromStores(items, () => outer1_10.getCurrentUser()); let prop; if (null != stateFromStores) { prop = stateFromStores.ageVerificationStatus; } return prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.VERIFIED_ADULT; }; export const isAssignedByDiscord = function isAssignedByDiscord() { const currentUser = authStore.getCurrentUser(); let prop; if (null != currentUser) { prop = currentUser.ageVerificationStatus; } return prop === require(1882) /* PermissionOverwriteType */.AgeVerificationStatusUkAndAusOnly.INFERRED_ADULT; }; export { useIsAssignedByDiscord }; export const useShowAssignedAgeGroupSettings = function useShowAssignedAgeGroupSettings() { const tmp = useIsAssignedByDiscord(); const obj = require(3810) /* isFeatureAgeGated */; return require(3810) /* isFeatureAgeGated */.useIsFeatureAgeGated(require(4957) /* AgeGatedFeature */.AgeGatedFeature.REACTIVE_CHECK) && tmp; }; export const AgeVerificationSystemNotificationEmbedKeys = obj; export const AgeVerificationSystemNotificationCtaTypes = obj; export const AgeVerificationSystemNotificationContentType = { VERIFIED_ADULT: "verified_adult", VERIFIED_TEEN: "verified_teen", ERROR: "error" }; export const isAgeVerificationMessageWithRetryCta = function isAgeVerificationMessageWithRetryCta(channel_id, id) { const message = store.getMessage(channel_id, id); if (null != message) { if (null != message.embeds) { if (0 !== message.embeds.length) { if (null != message.embeds[0].fields) { if (message.embeds[0].type === MessageEmbedTypes.AGE_VERIFICATION_SYSTEM_NOTIFICATION) { const fields = message.embeds[0].fields; const found = fields.find((rawName) => rawName.rawName === outer1_18.CTAS); let hasItem; if (null != found) { const parts = found.rawValue.split(","); hasItem = parts.includes(obj.RETRY); const str = found.rawValue; } return hasItem; } } } } } return false; }; export const isAgeVerificationMessageWithConnectToTeenCta = function isAgeVerificationMessageWithConnectToTeenCta(channel_id, id) { if (null == pendingConnection.getPendingConnection()) { return false; } else { const message = store.getMessage(channel_id, id); if (null != message) { if (null != message.embeds) { if (0 !== message.embeds.length) { if (null != message.embeds[0].fields) { if (message.embeds[0].type === MessageEmbedTypes.AGE_VERIFICATION_SYSTEM_NOTIFICATION) { const fields = message.embeds[0].fields; const found = fields.find((rawName) => rawName.rawName === outer1_18.CTAS); let hasItem; if (null != found) { const parts = found.rawValue.split(","); hasItem = parts.includes(obj.CONNECT_TO_TEEN); const str = found.rawValue; } let enabled = !tmp3; if (true === hasItem) { const FamilyCenterConnectionPrereqExperiment = require(11059) /* apexExperiment */.FamilyCenterConnectionPrereqExperiment; obj = { location: "isAgeVerificationMessageWithConnectToTeenCta" }; enabled = FamilyCenterConnectionPrereqExperiment.getConfig(obj).enabled; } return enabled; } } } } } return false; } }; export { isAgeVerified }; export { useIsAgeVerified }; export const useInitiateAgeVerification = function useInitiateAgeVerification(onComplete) { onComplete = onComplete.onComplete; const entryPoint = onComplete.entryPoint; let flag = onComplete.shouldShowExpressiveModal; if (flag === undefined) { flag = false; } let classificationId = onComplete.classificationId; if (classificationId === undefined) { classificationId = null; } let callback2; let current; let callback; let tmp3 = callback2(current.useState(false), 2); callback2 = tmp3[1]; let obj = onComplete(flag[17]); const items = [closure_10]; const stateFromStores = obj.useStateFromStores(items, () => outer1_10.getCurrentUser()); let prop; if (null != stateFromStores) { prop = stateFromStores.ageVerificationStatus; } current = current.useRef(prop).current; const items1 = [current]; callback = current.useCallback(() => { let obj = entryPoint(flag[19]); obj = { type: "CLOSE_AGE_VERIFICATION_MODAL", status: current }; obj.dispatch(obj); }, items1); const items2 = [onComplete, callback, flag, classificationId, entryPoint]; obj = { loading: tmp3[0], initiateAgeVerification: current.useCallback((() => { let closure_0 = classificationId(async (arg0, arg1) => { outer2_4(true); let obj = entryPoint(flag[19]); obj.dispatch({ type: "INITIATE_AGE_VERIFICATION" }); obj = { method: arg0 }; let tmp3; if (null != outer2_3) { tmp3 = outer2_3; } obj.classificationId = tmp3; obj.vendor = arg1; const tmp4 = yield onComplete(flag[20]).requestAgeVerification(obj); const obj2 = onComplete(flag[20]); obj = { webviewUrl: tmp4.verification_webview_url, verificationRequestId: tmp4.verification_request_id, verificationVendorName: tmp4.verification_vendor_name, incodeParameters: tmp4.incode_parameters, onComplete: closure_0, onClose: outer2_6, onCancel: outer2_6, entryPoint: outer2_1, shouldShowExpressiveModal: outer2_2 }; if (false === obj4.showAgeVerification(obj)) { entryPoint(flag[22]).showFailedToast(outer3_15.TIGGER_PAWTECT_ERROR); outer2_6(); const obj6 = entryPoint(flag[22]); } outer2_4(false); }); return function() { return callback(...arguments); }; })(), items2) }; return obj; }; export const useWatchAgeVerificationStatusChange = function useWatchAgeVerificationStatusChange(callback1) { const _require = callback1; const items = [closure_10]; const stateFromStores = _require(566).useStateFromStores(items, () => { const currentUser = outer1_10.getCurrentUser(); let prop; if (null != currentUser) { prop = currentUser.ageVerificationStatus; } return prop; }); const tmp2 = importDefault(8063)(stateFromStores); const obj = _require(566); const items1 = [closure_8]; const stateFromStores1 = _require(566).useStateFromStores(items1, () => null != outer1_8.getSuspendedUserToken()); const obj2 = _require(566); const items2 = [closure_8]; let tmp5 = null != tmp2; const stateFromStores2 = _require(566).useStateFromStores(items2, () => outer1_8.isAuthenticated()); if (tmp5) { tmp5 = null != stateFromStores; } if (tmp5) { tmp5 = tmp2 !== stateFromStores; } importDefault = tmp5; const dependencyMap = tmp6; const items3 = [callback1, tmp5, !stateFromStores1 && !stateFromStores2]; const effect = React.useEffect(() => { let tmp = closure_1; if (!closure_1) { tmp = closure_2; } if (tmp) { callback1(); } }, items3); }; export const isFullscreenAgeVerificationEntryPoint = function isFullscreenAgeVerificationEntryPoint(arg0) { let hasItem = null != arg0; if (hasItem) { hasItem = set.has(arg0); } return hasItem; }; export const getAgeVerificationGetStartedTitle = function getAgeVerificationGetStartedTitle(entryPoint) { const hasItem = set.has(entryPoint); const intl = require(1212) /* getSystemLocale */.intl; const string = intl.string; const t = require(1212) /* getSystemLocale */.t; if (hasItem) { let stringResult = string(t.lSWVTM); } else { stringResult = string(t.xYXsr6); } return stringResult; }; export const getAgeVerificationGetStartedSubtitle = function getAgeVerificationGetStartedSubtitle(entryPoint, handleOnHelpUrlHook, isSuspendedUser) { let flag = isSuspendedUser; if (isSuspendedUser === undefined) { flag = false; } if (set.has(entryPoint)) { const intl4 = require(1212) /* getSystemLocale */.intl; let stringResult = intl4.string(require(1212) /* getSystemLocale */.t["S/xS/w"]); } else if (flag) { const intl3 = require(1212) /* getSystemLocale */.intl; stringResult = intl3.string(importDefault(2717).h7qzoa); } else if (null != handleOnHelpUrlHook) { const intl2 = require(1212) /* getSystemLocale */.intl; const obj = { handleOnHelpUrlHook }; stringResult = intl2.format(importDefault(2717).RpMIT0, obj); } else { const intl = require(1212) /* getSystemLocale */.intl; stringResult = intl.string(require(1212) /* getSystemLocale */.t.HxS3oQ); } return stringResult; }; export { useShouldCallReactiveCheck }; export const useMaybePerformReactiveCheckForSource = function useMaybePerformReactiveCheckForSource(NSFW_SERVER) { let closure_0 = NSFW_SERVER; const tmp = useShouldCallReactiveCheck(); const importDefault = tmp; const items = [tmp, NSFW_SERVER]; const effect = React.useEffect(() => { let hasItem = closure_1; if (closure_1) { hasItem = outer1_14.has(NSFW_SERVER); } if (hasItem) { NSFW_SERVER(outer1_2[26]).fetchReactiveCheckResult(); const obj = NSFW_SERVER(outer1_2[26]); } }, items); }; export { shouldCallReactiveCheck }; export const maybePerformReactiveCheck = function maybePerformReactiveCheck() { return _maybePerformReactiveCheck(...arguments); };