/* Metro module 9318; source: modules/guild_profile/hooks/useGuildProfileCTA.tsx; dependencies: [31, 1226, 1945, 1867, 4097, 1878, 661, 566, 1391, 8898, 9319, 8401, 6720, 2] */ import AuthenticationStore from '../../../stores/AuthenticationStore.tsx'; /* Metro dependency 1226 */ import GuildStore from '../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import GuildMemberStore from '../../../stores/GuildMemberStore.tsx'; /* Metro dependency 1945 */ import InviteStore from '../../../stores/InviteStore.tsx'; /* Metro dependency 4097 */ import UsePendingFolderGuildIds from '../../guilds_bar/usePendingFolderGuildIds.tsx'; /* Metro dependency 9319 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ function _fun72794(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#72794, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:6, offset: 0x01d53dcf, size: 378 bytes, params: 8, frame: 24 const env0_0 = require; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); object = {IS_MEMBER: 0}; object[0] = 'IS_MEMBER'; object.ADOPT_TAG = 1; object[1] = 'ADOPT_TAG'; object.HAS_APPLICATION = 2; object[2] = 'HAS_APPLICATION'; object.APPLY_TO_JOIN = 3; object[3] = 'APPLY_TO_JOIN'; object.LURK_DISCOVERABLE = 4; object[4] = 'LURK_DISCOVERABLE'; object.JOIN_VIA_INVITE = 5; object[5] = 'JOIN_VIA_INVITE'; object.ACCEPT_ROLES = 6; object[6] = 'ACCEPT_ROLES'; (FileImportTrackerModule).fileFinishedImporting('modules/guild_profile/hooks/useGuildProfileCTA.tsx'); exports.default = useGuildProfileCTA; exports.CTATypes = object; exports.GuildProfileCTAContext = {INVITE: 'INVITE'}; exports.getGuildProfileCTAType = getGuildProfileCTAType; function useGuildProfileCTA(a0, a1, a2) { // fn#72795, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:627, offset: 0x01d53f49, size: 462 bytes, params: 4, frame: 29 const env0_0 = a0; const env0_1 = a1; const env0_2 = a2; const id = a0.id; const id3 = id; const features = a0.features; const id2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([AuthenticationStore], function() { return AuthenticationStore.getId(); }); const guild = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], function() { return GuildStore.getGuild(id); }); const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getUser(id); }, [id2]); const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildMemberStore], _fun72799, [id, id2]); const {validInviteKey, isBypassInvite, inviteRoles} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([InviteStore], _fun72800, [id, a2]); const value5 = (UsePendingFolderGuildIds)(); const binding = id3; const useMemo = binding.useMemo; object = [value3, value5, id, features, validInviteKey]; object[5] = a0.visibility; object[6] = a0.tag; object[7] = isBypassInvite; object[8] = a1; object[9] = guild; object[10] = inviteRoles; object[11] = value2; object = {guildId: id, ctaType: Reflect.apply(useMemo, binding, [_fun72801, object]), validInviteKey: validInviteKey}; return object; function _fun72799() { // fn#72799, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:881, offset: 0x01d54145, size: 66 bytes, params: 1, frame: 15 const idBinding = id; const value2 = null; const r2 = value2 != idBinding ? GuildMemberStore.getMember(id, id) : value2; return value2 != (value2 == r2 ? undefined : r2.joinedAt); } function _fun72800() { // fn#72800, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:1014, offset: 0x01d54187, size: 243 bytes, params: 1, frame: 18 var r1; var r0; var state; var object; var moduleValue; var hasFlag; var flags; var value; const value2 = null; const r4 = value2 != importDefault ? importDefault : InviteStore.getInviteKeyForGuildId(id); if (value2 != r4) { value = environment.__proto__; value = InviteStore.getInvite(r4); r1 = value; } else { r1 = value2; } if (value2 == r1) { r0 = {'validInviteKey': null, 'isBypassInvite': false, 'inviteRoles': null}; } else { state = r1.state; value = environment.__proto__; if (state === InviteStates.BANNED) { r0 = {'validInviteKey': null, 'isBypassInvite': false, 'inviteRoles': null}; } else if (r1.state === InviteStates.EXPIRED) { r0 = {'validInviteKey': null, 'isBypassInvite': false, 'inviteRoles': null}; } else { object = {validInviteKey: r4}; moduleValue = require(1391) /* metro dependency 1391: FlagUtils */; hasFlag = moduleValue.hasFlag; flags = r1.flags; object.isBypassInvite = Reflect.apply(hasFlag, moduleValue, [value2 != flags ? flags : 0, (require(8898) /* metro dependency 8898: GuildInviteFlags */).GuildInviteFlags.IS_APPLICATION_BYPASS]); object.inviteRoles = r1.roles; r0 = object; } } return r0; } function _fun72801() { // fn#72801, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:1437, offset: 0x01d5427a, size: 658 bytes, params: 1, frame: 18 var environment; var r3; var primaryGuild; var r2; var r1; var value4; var INVITE; var inviteRolesBinding; var guildMemberStoreBinding; var value5; var Set; var set; var value9; var moduleValue; if (env0_8) { value4 = environment.__proto__; INVITE = env1_12.INVITE; if (require !== INVITE) { value9 = undefined; primaryGuild = env0_7 == null ? value9 : env0_7.primaryGuild; if (require === env1_12.INVITE) { r1 = env1_11.IS_MEMBER; } else if (env0_0.tag == null) { r1 = env1_11.IS_MEMBER; } else if ((primaryGuild == null ? value9 : primaryGuild.identityGuildId) === id && (primaryGuild == null ? value9 : primaryGuild.identityEnabled) === true) { r1 = env1_11.IS_MEMBER; } else if (guild == null) { r1 = env1_11.IS_MEMBER; } else { moduleValue = require(8401) /* metro dependency 8401: GuildTagUtils */; r1 = moduleValue.guildSupportsTags(guild) ? env1_11.ADOPT_TAG : env1_11.IS_MEMBER; } return r1; } if (inviteRoles == null) { value9 = undefined; primaryGuild = env0_7 == null ? value9 : env0_7.primaryGuild; if (require === env1_12.INVITE) { r1 = env1_11.IS_MEMBER; } else if (env0_0.tag == null) { r1 = env1_11.IS_MEMBER; } else if ((primaryGuild == null ? value9 : primaryGuild.identityGuildId) === id && (primaryGuild == null ? value9 : primaryGuild.identityEnabled) === true) { r1 = env1_11.IS_MEMBER; } else if (guild == null) { r1 = env1_11.IS_MEMBER; } else { moduleValue = require(8401) /* metro dependency 8401: GuildTagUtils */; r1 = moduleValue.guildSupportsTags(guild) ? env1_11.ADOPT_TAG : env1_11.IS_MEMBER; } return r1; } if (inviteRoles.length > 0) { if (env0_7 == null) { value9 = undefined; primaryGuild = env0_7 == null ? value9 : env0_7.primaryGuild; if (require === env1_12.INVITE) { r1 = env1_11.IS_MEMBER; } else if (env0_0.tag == null) { r1 = env1_11.IS_MEMBER; } else if ((primaryGuild == null ? value9 : primaryGuild.identityGuildId) === id && (primaryGuild == null ? value9 : primaryGuild.identityEnabled) === true) { r1 = env1_11.IS_MEMBER; } else if (guild == null) { r1 = env1_11.IS_MEMBER; } else { moduleValue = require(8401) /* metro dependency 8401: GuildTagUtils */; r1 = moduleValue.guildSupportsTags(guild) ? env1_11.ADOPT_TAG : env1_11.IS_MEMBER; } return r1; } guildMemberStoreBinding = GuildMemberStore; value5 = guildMemberStoreBinding.getMember(id, env0_7.id); Set = global.Set; r3 = value5?.roles ?? []; set = new Set(); inviteRolesBinding = inviteRoles; if (inviteRolesBinding.some(_fun72802)) { return env1_11.ACCEPT_ROLES; } value9 = undefined; primaryGuild = env0_7 == null ? value9 : env0_7.primaryGuild; if (require === env1_12.INVITE) { r1 = env1_11.IS_MEMBER; } else if (set.tag == null) { r1 = env1_11.IS_MEMBER; } else if ((primaryGuild == null ? value9 : primaryGuild.identityGuildId) === id && (primaryGuild == null ? value9 : primaryGuild.identityEnabled) === true) { r1 = env1_11.IS_MEMBER; } else if (guild == null) { r1 = env1_11.IS_MEMBER; } else { moduleValue = require(8401) /* metro dependency 8401: GuildTagUtils */; r1 = moduleValue.guildSupportsTags(guild) ? env1_11.ADOPT_TAG : env1_11.IS_MEMBER; } return r1; } value9 = undefined; primaryGuild = env0_7 == null ? value9 : env0_7.primaryGuild; r2 = (primaryGuild == null ? value9 : primaryGuild.identityGuildId) === id && (primaryGuild == null ? value9 : primaryGuild.identityEnabled) === true; INVITE = env1_12.INVITE; if (require === INVITE) { r1 = env1_11.IS_MEMBER; } else if (env0_0.tag == null) { r1 = env1_11.IS_MEMBER; } else if (r2) { r1 = env1_11.IS_MEMBER; } else if (guild == null) { r1 = env1_11.IS_MEMBER; } else { moduleValue = require(8401) /* metro dependency 8401: GuildTagUtils */; r1 = moduleValue.guildSupportsTags(guild) ? env1_11.ADOPT_TAG : env1_11.IS_MEMBER; } return r1; } const binding = env0_12; return binding.includes(id) ? env1_11.HAS_APPLICATION : features == null ? validInviteKey != null ? env1_11.JOIN_VIA_INVITE : features != null && features.includes(GuildFeatures.DISCOVERABLE) ? env1_11.LURK_DISCOVERABLE : null : features.includes(GuildFeatures.MEMBER_VERIFICATION_GATE_ENABLED) ? features == null ? validInviteKey != null ? env1_11.JOIN_VIA_INVITE : features != null && features.includes(GuildFeatures.DISCOVERABLE) ? env1_11.LURK_DISCOVERABLE : null : features.includes(GuildFeatures.MEMBER_VERIFICATION_MANUAL_APPROVAL) ? validInviteKey != null ? isBypassInvite ? validInviteKey != null ? env1_11.JOIN_VIA_INVITE : features != null && features.includes(GuildFeatures.DISCOVERABLE) ? env1_11.LURK_DISCOVERABLE : null : env1_11.APPLY_TO_JOIN : env0_0.visibility !== (require(6720) /* metro dependency 6720: GuildProfileTypes */).GuildProfileVisibility.PUBLIC_WITH_RECRUITMENT || isBypassInvite ? validInviteKey != null ? env1_11.JOIN_VIA_INVITE : features != null && features.includes(GuildFeatures.DISCOVERABLE) ? env1_11.LURK_DISCOVERABLE : null : env1_11.APPLY_TO_JOIN : validInviteKey != null ? env1_11.JOIN_VIA_INVITE : features != null && features.includes(GuildFeatures.DISCOVERABLE) ? env1_11.LURK_DISCOVERABLE : null : validInviteKey != null ? env1_11.JOIN_VIA_INVITE : features != null && features.includes(GuildFeatures.DISCOVERABLE) ? env1_11.LURK_DISCOVERABLE : null; function _fun72802({id}) { // fn#72802, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:1583, offset: 0x011289b2, size: 30 bytes, params: 2, frame: 11 const binding = env0_0; return !binding.has(id); } } } function getGuildProfileCTAType(a0, a1) { // fn#72803, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:2341, offset: 0x01d5450c, size: 703 bytes, params: 3, frame: 28 var r7; var roles; var r3; var guildMemberStoreBinding; var hasFlag; var flags; var Set; var set; let value = a1; const id = a0.id; const features = a0.features; const id2 = AuthenticationStore.getId(); const user = UserStore.getUser(id2); const value5 = null; let r6 = value5 != id ? GuildMemberStore.getMember(id, id2) : value5; const value7 = undefined; const value8 = value5 != (value5 == r6 ? value7 : r6.joinedAt); const r13 = value5 != value ? value : InviteStore.getInviteKeyForGuildId(id); const r2 = value5 != r13 ? InviteStore.getInvite(r13) : value5; value = false; if (value5 == r2) { r6 = value; r7 = value5; } else if (r2.state === InviteStates.BANNED) { r6 = value; r7 = value5; } else if (r2.state === InviteStates.EXPIRED) { r6 = value; r7 = value5; } else { value = require(1391) /* metro dependency 1391: FlagUtils */; hasFlag = value.hasFlag; flags = r2.flags; value = Reflect.apply(hasFlag, value, [value5 != flags ? flags : 0, (require(8898) /* metro dependency 8898: GuildInviteFlags */).GuildInviteFlags.IS_APPLICATION_BYPASS]); r6 = value; r7 = r13; } value = require(9319) /* metro dependency 9319: usePendingFolderGuildIds */; value = value.getPendingFolderGuildIds(); if (value8) { roles = value5 == r2 ? value7 : r2.roles; if (value5 == roles) { return env0_11.IS_MEMBER; } roles = r2.roles; if (roles.length > 0) { if (value5 == user) { return env0_11.IS_MEMBER; } guildMemberStoreBinding = GuildMemberStore; value = guildMemberStoreBinding.getMember(id, user.id); Set = global.Set; roles = value5 == value ? value7 : value.roles; r3 = value5 != roles ? roles : []; set = new Set(); roles = r2.roles; if (roles.some(_fun72804)) { return env0_11.ACCEPT_ROLES; } return env0_11.IS_MEMBER; } return env0_11.IS_MEMBER; } r6 = value.includes(id) ? env0_11.HAS_APPLICATION : value5 == features ? value5 != r7 ? env0_11.JOIN_VIA_INVITE : value5 != features && features.includes(GuildFeatures.DISCOVERABLE) ? env0_11.LURK_DISCOVERABLE : value5 : features.includes(GuildFeatures.MEMBER_VERIFICATION_GATE_ENABLED) ? value5 == features ? value5 != r7 ? env0_11.JOIN_VIA_INVITE : value5 != features && features.includes(GuildFeatures.DISCOVERABLE) ? env0_11.LURK_DISCOVERABLE : value5 : features.includes(GuildFeatures.MEMBER_VERIFICATION_MANUAL_APPROVAL) ? value5 != r7 ? r6 ? value5 != r7 ? env0_11.JOIN_VIA_INVITE : value5 != features && features.includes(GuildFeatures.DISCOVERABLE) ? env0_11.LURK_DISCOVERABLE : value5 : env0_11.APPLY_TO_JOIN : a0.visibility !== (require(6720) /* metro dependency 6720: GuildProfileTypes */).GuildProfileVisibility.PUBLIC_WITH_RECRUITMENT || r6 ? value5 != r7 ? env0_11.JOIN_VIA_INVITE : value5 != features && features.includes(GuildFeatures.DISCOVERABLE) ? env0_11.LURK_DISCOVERABLE : value5 : env0_11.APPLY_TO_JOIN : value5 != r7 ? env0_11.JOIN_VIA_INVITE : value5 != features && features.includes(GuildFeatures.DISCOVERABLE) ? env0_11.LURK_DISCOVERABLE : value5 : value5 != r7 ? env0_11.JOIN_VIA_INVITE : value5 != features && features.includes(GuildFeatures.DISCOVERABLE) ? env0_11.LURK_DISCOVERABLE : value5; return r6; function _fun72804({id}) { // fn#72804, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:9504:2932, offset: 0x011289b2, size: 30 bytes, params: 2, frame: 11 const binding = env0_0; return !binding.has(id); } } } global.__d(_fun72794, 9318, [31, 1226, 1945, 1867, 4097, 1878, 661, 566, 1391, 8898, 9319, 8401, 6720, 2]) /* metro module 9318, dependencies: [31, 1226, 1945, 1867, 4097, 1878, 661, 566, 1391, 8898, 9319, 8401, 6720, 2] */;