// Module ID: 17733 // Function ID: 17734 // Name: AgeVerificationManager // Dependencies: [2045, 4978, 2099, 1376, 1078, 8675, 3, 1100, 7703, 7548, 7365, 1982, 5642, 5643, 8870, 5491, 2] // Module 17733 (AgeVerificationManager) import LoggerDefault from "Logger" /* 3 */; import MessageEmbedTypes from "MessageEmbedTypes" /* 1100 */; import Server from "Server" /* 1982 */; import ChannelMessagesDefault from "ChannelMessages" /* 5491 */; import RegionalFeatureConfigUtils from "RegionalFeatureConfigUtils" /* 5642 */; import AgeGatedFeature from "AgeGatedFeature" /* 5643 */; import ManualReviewActionCreators from "ManualReviewActionCreators" /* 8870 */; import ChannelStore from "ChannelStore" /* 2045 */; import MessageStore from "MessageStore" /* 4978 */; import SelectedChannelStore from "SelectedChannelStore" /* 2099 */; import UserStore from "UserStore" /* 1376 */; import AutomaticLifecycleManager from "AutomaticLifecycleManager" /* 7365 */; require = fn; function handleMessageCreate(channelId) { const message = MessageStore.getMessage(channelId.channelId, channelId.message.id); const AGE_VERIFICATION_SYSTEM_NOTIFICATION = MessageEmbedTypes.MessageEmbedTypes.AGE_VERIFICATION_SYSTEM_NOTIFICATION; } const transformUser = fn(1376).transformUser; const Constants = fn(1078); ({ ChannelTypes: closure_8, MAX_MESSAGES_PER_CHANNEL: closure_9 } = Constants); const SafetyToastType = fn(8675).SafetyToastType; let closure_10 = new LoggerDefault("AgeVerificationManager"); const prototype = function AgeVerificationManager() { const applyArgumentsResult = HermesBuiltin.applyArguments(new.target, new.target); require = applyArgumentsResult; applyArgumentsResult._previousAgeVerificationStatus = null; applyArgumentsResult.handlePostConnectionOpen = function handlePostConnectionOpen() { const currentUser = UserStore.getCurrentUser(); let prop; if (currentUser != null) { prop = currentUser.ageVerificationStatus; } if (prop == null) { prop = null; } applyArgumentsResult._previousAgeVerificationStatus = prop; }; applyArgumentsResult.handleCurrentUserUpdate = function handleCurrentUserUpdate(user) { let channelId; c1 = undefined; let prop = transformUser(user.user).ageVerificationStatus; if (prop == null) { prop = null; } let isFeatureAgeGatedResult = tmp5; if (applyArgumentsResult._previousAgeVerificationStatus !== prop) { isFeatureAgeGatedResult = prop === Server.AgeVerificationStatusUkAndAusOnly.VERIFIED_ADULT; } if (isFeatureAgeGatedResult) { isFeatureAgeGatedResult = RegionalFeatureConfigUtils.isFeatureAgeGated(AgeGatedFeature.AgeGatedFeature.AGE_GATED_SPACES); } if (applyArgumentsResult._previousAgeVerificationStatus !== prop) { const result = ManualReviewActionCreators.invalidateManualReviewCache(); } try { if (isFeatureAgeGatedResult) { channelId = SelectedChannelStore.getChannelId(); c1 = false; const item = ChannelMessagesDefault.forEach((channelId) => { channelId = channelId.channelId; channel = channel.getChannel(channelId); let nsfw; if (channel != null) { nsfw = channel.nsfw; } if (nsfw) { ChannelMessagesDefault.clear(channelId); if (channelId === channelId) { c1 = true; } } }); let tmp20 = c1; if (c1) { tmp20 = null != tmp16; } if (tmp20) { (function handleLoadChannelMessages(channelId) { const messages = _true(7703).fetchMessages({ channelId, limit }); })(tmp16); (function handleLoadForumPosts(arg0) { channel = channel.getChannel(arg0); let type; if (channel != null) { type = channel.type; } let tmp4 = type !== constants.GUILD_FORUM; if (tmp4) { let type1; if (channel != null) { type1 = channel.type; } tmp4 = type1 !== tmp3.GUILD_MEDIA; } if (!tmp4) { channelId(7548).preloadForumThreads(channel); const obj = channelId(7548); } })(tmp16); } } applyArgumentsResult._previousAgeVerificationStatus = prop; } catch (tmp25) { tmp._previousAgeVerificationStatus = tmp2; throw tmp25; } }; applyArgumentsResult.actions = { POST_CONNECTION_OPEN: applyArgumentsResult.handlePostConnectionOpen, CURRENT_USER_UPDATE: applyArgumentsResult.handleCurrentUserUpdate, MESSAGE_CREATE: handleMessageCreate }; return applyArgumentsResult; }.prototype; class prototype extends tmp4 { } const prototype1 = new prototype(); const size = fn(2); let result = size.fileFinishedImporting("modules/age_assurance/AgeVerificationManager.tsx"); export default prototype1;