/* Metro module 8107; source: modules/activities/utils/getEmbeddedActivityJoinability.tsx; dependencies: [1379, 1867, 3784, 1878, 4297, 661, 8105, 4800, 7858, 566, 2] */ import ChannelStore2 from '../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import GuildStore2 from '../../../stores/GuildStore.tsx'; /* Metro dependency 1867 */ import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import PermissionStore2 from '../../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */ import VoiceStateStore2 from '../../../stores/VoiceStateStore.tsx'; /* Metro dependency 4297 */ import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */ import * as UseIsActivitiesEnabledForCurrentPlatformModule from '../useIsActivitiesEnabledForCurrentPlatform.tsx'; /* Metro dependency 7858 */ function _fun64982(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#64982, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8292:6, offset: 0x01bbbd4a, size: 395 bytes, params: 8, frame: 24 const env0_0 = require; const getEmbeddedActivityJoinability2 = getEmbeddedActivityJoinability; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const channelStore = ChannelStore2; const guildStore = GuildStore2; const permissionStore = PermissionStore2; const voiceStateStore = VoiceStateStore2; object = {CAN_JOIN: 0}; object[0] = 'CAN_JOIN'; object.NO_USE_EMBEDDED_ACTIVITIES_PERMISSION = 1; object[1] = 'NO_USE_EMBEDDED_ACTIVITIES_PERMISSION'; object.NO_CHANNEL_CONNECT_PERMISSION = 2; object[2] = 'NO_CHANNEL_CONNECT_PERMISSION'; object.CHANNEL_FULL = 3; object[3] = 'CHANNEL_FULL'; object.NO_CHANNEL = 4; object[4] = 'NO_CHANNEL'; object.ACTIVITIES_FEATURE_NOT_ENABLED_FOR_OS = 5; object[5] = 'ACTIVITIES_FEATURE_NOT_ENABLED_FOR_OS'; object.ACTIVITY_NOT_SUPPORTED_ON_OS = 6; object[6] = 'ACTIVITY_NOT_SUPPORTED_ON_OS'; object.ACTIVITY_AGE_GATED = 7; object[7] = 'ACTIVITY_AGE_GATED'; object.NO_USER = 8; object[8] = 'NO_USER'; object.IS_AFK_CHANNEL = 9; object[9] = 'IS_AFK_CHANNEL'; object.NO_GUILD = 10; object[10] = 'NO_GUILD'; (FileImportTrackerModule).fileFinishedImporting('modules/activities/utils/getEmbeddedActivityJoinability.tsx'); exports.default = getEmbeddedActivityJoinability2; exports.EmbeddedActivityJoinability = object; exports.useEmbeddedActivityJoinability = useEmbeddedActivityJoinability; function getEmbeddedActivityJoinability({userId, activity, application, channelId, currentUser, isActivitiesEnabledForCurrentPlatform, ChannelStore, VoiceStateStore, PermissionStore, GuildStore}) { // fn#64983, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8292:734, offset: 0x01bbbed5, size: 615 bytes, params: 2, frame: 24 var r4; var channel; var guildId; var guild; var value7; if (userId == null) { return env0_9.NO_USER; } let value = undefined; if ((currentUser == null ? value : currentUser.nsfwAllowed) === false) { if ((application == null || application.embeddedActivityConfig == null ? value : application.embeddedActivityConfig.requires_age_gate) === true) { value = environment; return env0_9.ACTIVITY_AGE_GATED; } } if (isActivitiesEnabledForCurrentPlatform) { if ((importDefault(8105) /* metro dependency 8105: isActivitySupportedOnClientPlatform */)(application == null || application.embeddedActivityConfig == null ? value : application.embeddedActivityConfig.supported_platforms)) { r4 = channelId ?? (VoiceStateStore.getVoiceStateForSession(userId, activity == null ? value : activity.session_id) == null ? value : VoiceStateStore.getVoiceStateForSession(userId, activity == null ? value : activity.session_id).channelId); if (r4 == null) { return env0_9.NO_CHANNEL; } channel = ChannelStore.getChannel(channelId); if (channel == null) { return env0_9.NO_CHANNEL; } if (channel.isPrivate()) { return env0_9.CAN_JOIN; } guildId = channel.getGuildId(); if (guildId == null) { return env0_9.NO_GUILD; } guild = GuildStore.getGuild(guildId); if ((guild == null ? value : guild.afkChannelId) === channel.id) { return env0_9.IS_AFK_CHANNEL; } value7 = VoiceStateStore.getCurrentClientVoiceChannelId(channel.getGuildId()); value = require(4800) /* metro dependency 4800: ChannelUtils */; value = value.isChannelFull(channel, VoiceStateStore, GuildStore); if (PermissionStore.can(Permissions.USE_EMBEDDED_ACTIVITIES, channel)) { if (channel.isVocal()) { if (value7 === r4) { return env0_9.CAN_JOIN; } if (value) { return env0_9.CHANNEL_FULL; } if (PermissionStore.can(Permissions.CONNECT, channel)) { return env0_9.CAN_JOIN; } return env0_9.NO_CHANNEL_CONNECT_PERMISSION; } return env0_9.CAN_JOIN; } return env0_9.NO_USE_EMBEDDED_ACTIVITIES_PERMISSION; } return env0_9.ACTIVITY_NOT_SUPPORTED_ON_OS; } return env0_9.ACTIVITIES_FEATURE_NOT_ENABLED_FOR_OS; } function useEmbeddedActivityJoinability({userId, activity, channelId, application}) { // fn#64984, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8292:2151, offset: 0x01bbc13c, size: 217 bytes, params: 2, frame: 25 const value2 = (UseIsActivitiesEnabledForCurrentPlatformModule).useIsActivitiesEnabledForCurrentPlatform(); const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getCurrentUser(); }); return (require(566) /* metro dependency 566: flux */).useStateFromStores([channelStore, voiceStateStore, permissionStore, guildStore], _fun64986, [activity, application, channelId, currentUser, value2, userId]); function _fun64986() { // fn#64986, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8292:2401, offset: 0x01bbc215, size: 108 bytes, params: 1, frame: 13 return getEmbeddedActivityJoinability({userId: userId, activity: activity, application: application, channelId: channelId, currentUser: currentUser, isActivitiesEnabledForCurrentPlatform: env0_4, ChannelStore: channelStore, VoiceStateStore: voiceStateStore, PermissionStore: permissionStore, GuildStore: guildStore}); } } } global.__d(_fun64982, 8107, [1379, 1867, 3784, 1878, 4297, 661, 8105, 4800, 7858, 566, 2]) /* metro module 8107, dependencies: [1379, 1867, 3784, 1878, 4297, 661, 8105, 4800, 7858, 566, 2] */;