// Module ID: 8286 // Function ID: 66527 // Name: showInstantInviteActionSheet // Dependencies: [5687, 1352, 1348, 8287, 1908, 4116, 4218, 1850, 8291, 5969, 8292, 653, 675, 5971, 8293, 8294, 4117, 4099, 8134, 3831, 5992, 5490, 4305, 44, 8289, 2] // Exports: getShareMessage, handleCopy, handleOpenInviteActionsheet, handleOpenShareSheet, handlePressSettings, hasDeferredInvite, isAppInstalled, showInstantInviteActionSheetForChannel // Module 8286 (showInstantInviteActionSheet) import _createForOfIteratorHelperLoose from "_createForOfIteratorHelperLoose"; import { ChannelRecordBase } from "_callSuper"; import _isNativeReflectConstruct from "_isNativeReflectConstruct"; 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 { InviteTargetTypes } from "InviteSendStates"; import { IOS_COPY_TO_PASTEBOARD } from "SHARE_APPS_KEY"; import ME from "ME"; let closure_14; let closure_15; let closure_16; const require = arg1; function showInstantInviteActionSheet(channel, source) { let obj = { isActionSheet: true, location: "IOS Instant Invite Action Sheet Mount" }; let obj1 = importDefault(675); obj = { type: "Instant Invite" }; source = undefined; if (null != source) { source = source.source; } obj.source = source; obj1.track(constants.OPEN_POPOUT, obj); let stream; if (null != source) { stream = source.stream; } if (null != stream) { stream = source.stream; obj.targetType = InviteTargetTypes.STREAM; obj.targetUserId = stream.ownerId; const streamerApplication = require(5971) /* _findPlayingActivity */.getStreamerApplication(stream, closure_9); const obj4 = require(5971) /* _findPlayingActivity */; obj = { type: "Send Stream Invite" }; obj.location = obj.location; obj.other_user_id = stream.ownerId; let id; if (null != streamerApplication) { id = streamerApplication.id; } obj.application_id = id; let name; if (null != streamerApplication) { name = streamerApplication.name; } obj.application_name = name; let id1; if (null != streamerApplication) { id1 = streamerApplication.id; } obj.game_id = id1; importDefault(675).track(constants.OPEN_MODAL, obj); const obj5 = importDefault(675); } else { let targetApplicationId; if (null != source) { targetApplicationId = source.targetApplicationId; } if (null != targetApplicationId) { obj.targetType = InviteTargetTypes.EMBEDDED_APPLICATION; obj.targetApplicationId = source.targetApplicationId; } } let createInvite; if (null != source) { createInvite = source.createInvite; } let tmp17 = false !== createInvite; if (tmp17) { let code; if (null != source) { code = source.code; } tmp17 = null == code; } if (tmp17) { importDefault(8293).init(channel.getGuildId(), channel.id, obj); const obj7 = importDefault(8293); } obj1 = { channel }; let source1; if (null != source) { source1 = source.source; } obj1.source = source1; let prop; if (null != source) { prop = source.guildScheduledEventId; } obj1.guildScheduledEventId = prop; let targetApplicationId1; if (null != source) { targetApplicationId1 = source.targetApplicationId; } obj1.targetApplicationId = targetApplicationId1; let code1; if (null != source) { code1 = source.code; } obj1.code = code1; obj1.vanityURLCode = null; let stackingBehavior; if (null != source) { stackingBehavior = source.stackingBehavior; } obj1.stackingBehavior = stackingBehavior; importDefault(8294)(obj1); } function getAnalyticsGuildId(guild_id) { if (guild_id instanceof ChannelRecordBase) { guild_id = guild_id.guild_id; } else { let id; if (null != guild_id) { id = guild_id.id; } const channel = store2.getChannel(id); if (null != channel) { guild_id = channel.getGuildId(); } } return guild_id; } function showVanityUrlInviteActionSheet(guild, channel, GUILD_SCHEDULED_EVENT, guildScheduledEventId) { let obj = importDefault(675); obj = { type: "Vanity URL Invite", source: GUILD_SCHEDULED_EVENT }; obj.track(constants.OPEN_POPOUT, obj); importDefault(8293).init(guild.id, channel.id, { skipCreateInvite: true }); obj = { vanityURLCode: guild.vanityURLCode, channel, source: GUILD_SCHEDULED_EVENT }; let prop; const obj3 = importDefault(8293); if (null != guildScheduledEventId) { prop = guildScheduledEventId.guildScheduledEventId; } obj.guildScheduledEventId = prop; let stackingBehavior; if (null != guildScheduledEventId) { stackingBehavior = guildScheduledEventId.stackingBehavior; } obj.stackingBehavior = stackingBehavior; importDefault(8294)(obj); } function trackOptionClicked(code, channel, COPY, _location) { let obj = require(4117) /* readSnowflake */; const invite = store4.getInvite(obj.parseExtraDataFromInviteKey(code).baseCode); obj = { invite_type: COPY, guild_id: getAnalyticsGuildId(channel) }; let id; if (null != channel) { id = channel.id; } obj.channel_id = id; const obj2 = importDefault(675); obj.invite_code = require(4117) /* readSnowflake */.parseInviteCodeFromInviteKey(code); let type; if (null != channel) { type = channel.type; } obj.invite_channel_type = type; const currentUser = authStore.getCurrentUser(); let id1; if (null != currentUser) { id1 = currentUser.id; } obj.invite_inviter_id = id1; obj.location = _location; let id2; if (null != invite) { const target_application = invite.target_application; if (null != target_application) { id2 = target_application.id; } } obj.application_id = id2; obj2.track(constants.INSTANT_INVITE_OPTION_CLICKED, obj); } ({ AnalyticEvents: closure_14, InviteOptionsType: closure_15, Permissions: closure_16 } = ME); let result = require("_isNativeReflectConstruct").fileFinishedImporting("modules/instant_invite/native/InstantInviteUtils.tsx"); export const showInstantInviteActionSheetForChannel = function showInstantInviteActionSheetForChannel(channelId) { const channel = store2.getChannel(channelId); if (null != channel) { showInstantInviteActionSheet(channel); } }; export { showInstantInviteActionSheet }; export { showVanityUrlInviteActionSheet }; export { trackOptionClicked }; export function getShareMessage(c10) { return c10; } export const handleOpenShareSheet = function handleOpenShareSheet(code, channel, intl, ADD_FRIENDS_WIDGET) { let flag = arg4; if (arg4 === undefined) { flag = true; } if (null != code) { const result = require(4117) /* readSnowflake */.parseExtraDataFromInviteKey(code); const invite = store4.getInvite(result.baseCode); const obj4 = require(4117) /* readSnowflake */; let obj = { guild_id: getAnalyticsGuildId(channel) }; let id; if (null != channel) { id = channel.id; } obj.channel_id = id; obj.invite_code = result.baseCode; let type; if (null != channel) { type = channel.type; } obj.invite_channel_type = type; const currentUser = authStore.getCurrentUser(); let id1; if (null != currentUser) { id1 = currentUser.id; } obj.invite_inviter_id = id1; obj.invite_guild_scheduled_event_id = result.guildScheduledEventId; obj.location = ADD_FRIENDS_WIDGET; let id2; if (null != invite) { const target_application = invite.target_application; if (null != target_application) { id2 = target_application.id; } } obj.application_id = id2; importDefault(675).track(constants.INSTANT_INVITE_SHARED, obj); if (flag) { trackOptionClicked(code, channel, constants2.SHARE, ADD_FRIENDS_WIDGET); } obj = importDefault(4099); obj.hideAllActionSheets(); const obj5 = importDefault(675); obj = { message: intl, iOSOnlyShareCallback(arg0, arr) { let tmp = arg0; if (arg0) { tmp = null != arr; } if (tmp) { tmp = !arr.includes(outer1_13); } if (tmp) { outer1_0(outer1_2[19]).presentInviteSent(); const obj = outer1_0(outer1_2[19]); } } }; require(8134) /* showShareActionSheet */.showShareActionSheet(obj, ADD_FRIENDS_WIDGET); const obj2 = require(8134) /* showShareActionSheet */; } }; export const handleCopy = function handleCopy(code, channel, GROUP_DM, arg3) { let flag = arg3; if (arg3 === undefined) { flag = true; } if (null != code) { const result = require(4117) /* readSnowflake */.parseExtraDataFromInviteKey(code); const obj2 = require(4117) /* readSnowflake */; const tmp16 = importDefault(5992)(code); require(5490) /* _copy */.copy(tmp16); const invite = store4.getInvite(result.baseCode); const obj3 = require(5490) /* _copy */; let obj = { server: getAnalyticsGuildId(channel) }; let id; if (null != channel) { id = channel.id; } obj.channel = id; let type; if (null != channel) { type = channel.type; } obj.channel_type = type; obj.location = GROUP_DM; ({ baseCode: obj5.code, guildScheduledEventId: obj5.guild_scheduled_event_id } = result); let id1; if (null != invite) { const target_application = invite.target_application; if (null != target_application) { id1 = target_application.id; } } obj.application_id = id1; importDefault(675).track(constants.COPY_INSTANT_INVITE, obj); if (flag) { trackOptionClicked(code, channel, constants2.COPY); } obj = require(3831) /* presentAddedFriendToast */; obj.presentLinkCopied(); const obj4 = importDefault(675); } }; export const handlePressSettings = function handlePressSettings(channel, closure_1, _createForOfIteratorHelperLoose) { let guild_id; let id; let closure_0 = channel; const importDefault = closure_1; importDefault(4099).hideActionSheet(); const dependencyMap = pendingSettings.getPendingSettings(); let obj = importDefault(4099); ({ guild_id, id } = channel); let str = "Instant Invite Action Sheet"; if (null != _createForOfIteratorHelperLoose) { str = _createForOfIteratorHelperLoose; } importDefault(8293).openSettings(guild_id, id, str, () => { if (null != callback) { callback(); } else { const obj = { createInvite: false }; let targetApplicationId; if (null != targetApplicationId) { targetApplicationId = targetApplicationId.targetApplicationId; } let tmp6; if (null != targetApplicationId) { tmp6 = targetApplicationId; } obj.targetApplicationId = tmp6; outer1_17(closure_0, obj); const tmp = outer1_17; const tmp2 = closure_0; } }); }; export const isAppInstalled = function isAppInstalled(GMAIL) { return require(4305) /* sendSMS */.canOpenUrlScheme(GMAIL); }; export const handleOpenInviteActionsheet = function handleOpenInviteActionsheet(guild, id, channels, GUILD_HEADER) { let channel = store2.getChannel(id); if (null == channel) { channel = store3.getDefaultChannel(guild.id, true, constants3.CREATE_INSTANT_INVITE); } importDefault(44)(null != channel, "Channel cannot be null"); if (null != guild.vanityURLCode) { if ("" !== guild.vanityURLCode) { showVanityUrlInviteActionSheet(guild, channel, GUILD_HEADER); } } let obj = require(8289) /* makeOption */; const inviteChannelId = obj.getInviteChannelId(channel.id, channels); if (null != inviteChannelId) { let channel1 = store2.getChannel(inviteChannelId); if (null == channel1) { channel1 = store3.getDefaultChannel(guild.id, true, constants3.CREATE_INSTANT_INVITE); } importDefault(44)(null != channel1, "Channel cannot be null"); obj = { source: GUILD_HEADER }; showInstantInviteActionSheet(channel1, obj); } }; export const hasDeferredInvite = function hasDeferredInvite() { displayedInviteCode = displayedInviteCode.getDisplayedInviteCode(); const displayedGuildTemplateCode = store.getDisplayedGuildTemplateCode(); let invite = null; if (null != displayedInviteCode) { invite = store4.getInvite(displayedInviteCode); } let guildTemplate = null; if (null != displayedGuildTemplateCode) { guildTemplate = store.getGuildTemplate(displayedGuildTemplateCode); } return null != invite || null != guildTemplate; };