// Metro module 9504 (f9505). import { getSection } from "../../../application_commands/ApplicationCommandIndexStore"; import ApplicationStore from "../../../applications/ApplicationStore"; import GuildAutomodMessageStore from "../../../guild_automod/GuildAutomodMessageStore"; import SummaryStore from "../../../summaries/SummaryStore"; import UserRecord from "../../../../records/UserRecord"; import ChannelStore from "../../../../stores/ChannelStore"; import InviteStore from "../../../../stores/InviteStore"; import MessageStore from "../../../../stores/MessageStore"; import UserStore from "../../../../stores/UserStore"; import { AnalyticsLocations, LinkingTypes, Routes } from "../../../../Constants"; import { AppLauncherRouteName } from "../../../app_launcher/native/AppLauncherNativeConstants"; import { StaticChannelRoute } from "../../../channel/ChannelConstants"; import { NotificationTypes } from "../../../push_notifications/PushNotificationConstants"; import { OpenThreadAnalyticsLocations } from "../../../threads/ThreadConstants"; import * as _MarkupReactLinkUtils from "../../../markup/MarkupReactLinkUtils"; import parseURL from "../../../../utils/native/parseURL"; import { isGuildScheduledEventInviteEmbed } from "../../../instant_invite/InviteTypeUtils"; import handleAcceptEventInstantInvite from "../../../guild_scheduled_events/native/handleAcceptEventInstantInvite"; import { GameProfileSources } from "../../../game_profile/GameProfileAnalyticUtils"; import * as _GameProfileActionCreators_native from "../../../game_profile/GameProfileActionCreators.native"; import { handleClick } from "../../../../utils/MaskedLinkUtils"; import { isAlertOrActionSheetOpen } from "../../../../components_native/chat/isAlertOrActionSheetOpen"; import showUserProfileActionSheet from "../../../user_profile/native/showUserProfileActionSheet"; import ActionSheetActionCreators from "../../../action_sheet/native/ActionSheetActionCreators"; import SelectedChannelActionCreators from "../../../../actions/SelectedChannelActionCreators"; import { watchStreamAndTransitionToStream } from "../../../../actions/StreamActionCreators"; import openPinnedMessages from "../openPinnedMessages"; import showChatGDMCustomizeActionSheet from "../../../group_dm/native/showChatGDMCustomizeActionSheet"; import { removeAutomodMessageNotice } from "../../../guild_automod/GuildAutomodMessageActionCreators"; import MessageActionCreators from "../../../../actions/MessageActionCreators"; import AnalyticsLocation from "../../../app_analytics/AnalyticsLocation"; import { isPrimaryEntryPointCommandMessage } from "../../../applications/ApplicationInteractionInfoUtils"; import { KeyboardTypes } from "../../../keyboard/native/KeyboardTypes"; import showExecutedApplicationCommandPopout from "../../../application_commands/native/showExecutedApplicationCommandPopout"; import { getUserAuthor } from "../../useMessageAuthor"; import { transitionTo } from "../../../routing/router_utils"; import { trackRoleSubscriptionPurchaseMessageTierClick } from "../../../guild_role_subscriptions/GuildRoleSubscriptionSystemMessageUtils"; import { openGuildHighlightNotificationForPush } from "../../../notifications/native/GuildHighlightsNotificationsActionCreators"; const handleMessagesTapURLLink = function handleMessagesTapURLLink(data, a1) { let r3 = data.url != null && data.url !== ""; if (r3) { const { url, node } = data; const r1 = node == null; let r2 = false; if (!r1) { const isLinkTrusted = _MarkupReactLinkUtils.isLinkTrusted(node); r2 = false; if (isLinkTrusted) { const payload = parseURL(url).payload; const type = payload.type; const INVITE = LinkingTypes.INVITE; r2 = false; if (type === INVITE) { const r31 = payload.inviteCode == null; r2 = false; if (!r31) { const invite = InviteStore.getInvite(payload.inviteCode); let r36 = invite == null || !isGuildScheduledEventInviteEmbed(invite); if (!r36) { handleAcceptEventInstantInvite(invite); r36 = 0; } r2 = !r36; } } } } if (!r2) { const payload2 = parseURL(data.url).payload; const type2 = payload2.type; const GAME_PROFILE = LinkingTypes.GAME_PROFILE; let r4 = false; if (type2 === GAME_PROFILE) { const gameId = payload2.gameId; const r57 = a1 != null; let sourceUserId = void 0; if (r57) { const r60 = data.messageId != null; sourceUserId = void 0; if (r60) { const message = MessageStore.getMessage(a1, data.messageId); sourceUserId = message == null ? void 0 : message.author.id; } } _GameProfileActionCreators_native.default.openGameProfileModal({ gameId, source: GameProfileSources.Deeplink, sourceUserId, gameProfileModalChecks: { shouldOpenGameProfile: true, gameId } }); r4 = true; } r2 = r4; } r3 = true; if (!r2) { handleClick({ href: data.url, trusted: data.node != null && _MarkupReactLinkUtils.isLinkTrusted(data.node), messageId: data.messageId, channelId: a1 }); r3 = true; } } return r3; }; export { handleMessagesTapURLLink }; export function handleMessagesTapLink(a0) { L90: { const { allowWithinModal, chatInputRef, handleTransitionToThread, message, messageChannel, selectedChannelId } = a0; const data = a0.tapLinkData.data; if (!(allowWithinModal !== true && isAlertOrActionSheetOpen(selectedChannelId)) && !handleMessagesTapURLLink(data, messageChannel?.id) && data.action != null) { switch (data.action) { case "bindUserMenu": showUserProfileActionSheet({ userId: data.userId, channelId: data.messageChannelId, messageId: data.messageId }); break L90; case "bindGuildMenu": if (data.messageReference == null) { return void 0; } const guild_id2 = data.messageReference.guild_id; if (guild_id2 == null) { return void 0; } ActionSheetActionCreators.openLazy(import("../../../guild_profile/native/components/GuildProfileActionSheet"), `GuildProfileActionSheet:${guild_id2}`, { guildId: guild_id2 }); break L90; case "bindJoinStream": const stream = data.stream; if (stream == null) { return void 0; } SelectedChannelActionCreators.selectVoiceChannel(stream.channelId); watchStreamAndTransitionToStream(stream); break L90; case "bindOpenPins": openPinnedMessages(data.messageChannelId, "pinned-message-system-message"); break L90; case "bindOpenGdmCustomizeActionSheet": showChatGDMCustomizeActionSheet({ channelId: data.messageChannelId }); break L90; case "bindDismissMessage": if (GuildAutomodMessageStore.getMessage(data.message?.id)?.isBlockedEdit) { removeAutomodMessageNotice(data.message?.id); break L90; } MessageActionCreators.dismissAutomatedMessage(data.message); break L90; case "bindTapUsername": showUserProfileActionSheet({ userId: data.userId, channelId: data.messageChannelId, messageId: data.messageId, sourceAnalyticsLocations: [AnalyticsLocation.USERNAME] }); break L90; case "bindTapCommandName": if (message?.interaction != null && messageChannel != null) { const user = UserStore.getUser(data.userId); if (user == null) { return void 0; } if (isPrimaryEntryPointCommandMessage(message)) { if (message.applicationId == null) { return void 0; } const channel2 = ChannelStore.getChannel(data.messageChannelId); if (channel2 == null) { return void 0; } const section = getSection({ channel: channel2, type: "channel" }, message.applicationId); if (section.descriptor?.application != null) { if (chatInputRef == null) { break L90; } const current4 = chatInputRef.current; if (current4 == null) { break L90; } const isGuildInstalled = section.isGuildInstalled; current4.openCustomKeyboard({ type: KeyboardTypes.APP_LAUNCHER, context: { initialRouteName: AppLauncherRouteName.APPLICATION_VIEW, initiallyExpanded: true, application: section.descriptor.application, installOnDemand: isGuildInstalled ? !isGuildInstalled : !section.isUserInstalled } }); break L90; } if (chatInputRef == null) { break L90; } const current3 = chatInputRef.current; if (current3 == null) { break L90; } current3.openCustomKeyboard({ type: KeyboardTypes.APP_LAUNCHER, context: { initialRouteName: AppLauncherRouteName.APPLICATION_VIEW, initiallyExpanded: true, applicationId: message.applicationId, installOnDemand: true } }); break L90; } if (message?.author == null) { break L90; } const r189 = { author: getUserAuthor(message.interaction.user, messageChannel), channelId: data.messageChannelId, chatInputRef, messageId: data.messageId, user, applicationUser: new UserRecord(message?.author), guildId: null, messageType: null }; let guildId = messageChannel.getGuildId(); if (guildId == null) { guildId = void 0; } r189.guildId = guildId; r189.messageType = data.messageType; showExecutedApplicationCommandPopout(r189); break L90; } return void 0; case "bindTapActivityText": const application = ApplicationStore.getApplication(data.applicationUserId); if (chatInputRef == null) { break L90; } const current2 = chatInputRef.current; if (current2 == null) { break L90; } current2.openCustomKeyboard(application == null ? { type: KeyboardTypes.APP_LAUNCHER, context: { initialRouteName: AppLauncherRouteName.APPLICATION_VIEW, applicationId: data.applicationUserId, initiallyExpanded: true } } : { type: KeyboardTypes.APP_LAUNCHER, context: { initialRouteName: AppLauncherRouteName.APPLICATION_VIEW, application, initiallyExpanded: true } }); break L90; case "bindOpenThreadChannel": const channel = ChannelStore.getChannel(data.threadId); if (channel == null) { break L90; } handleTransitionToThread(channel?.guild_id, channel.id, OpenThreadAnalyticsLocations.EMBED); break L90; case "bindJumpToMessage": MessageActionCreators.jumpToMessage({ channelId: data.targetChannelId, messageId: data.targetMessageId, flash: true, returnMessageId: data.messageId }); break L90; case "bindOpenRoleSubscriptionOverview": transitionTo(Routes.CHANNEL(data.guildId, StaticChannelRoute.ROLE_SUBSCRIPTIONS)); trackRoleSubscriptionPurchaseMessageTierClick(data.guildId, data.channelId, data.messageId, data.roleSubscriptionListingId); break L90; case "bindUserSurvey": const guild_id = ChannelStore.getChannel(data.message.channel_id)?.guild_id; if (guild_id == null) { break L90; } const notificationType = data.notificationType; if (NotificationTypes.TRENDING_CONTENT_PUSH === notificationType) { const { message: message2, notificationType: notificationType3 } = data; const MESSAGE_EMBED = AnalyticsLocations.MESSAGE_EMBED; let summary_id = SummaryStore.selectedSummary(data.message.channel_id)?.id; if (summary_id == null) { summary_id = "unknown"; } openGuildHighlightNotificationForPush(guild_id, message2, notificationType3, MESSAGE_EMBED, { summary_id }); break L90; } if (NotificationTypes.TOP_MESSAGE_PUSH === notificationType) { openGuildHighlightNotificationForPush(guild_id, data.message, data.notificationType, AnalyticsLocations.MESSAGE_EMBED); break L90; } const r13 = import("../../../notifications/native/NotificationSurveyActionSheet"); let notificationType2 = data.notificationType; if (notificationType2 == null) { notificationType2 = NotificationTypes.TOP_MESSAGE_PUSH; } ActionSheetActionCreators.openLazy(r13, "NotificationSurvey", { location: AnalyticsLocations.MESSAGE_EMBED, messageId: data.message.id, notificationType: notificationType2 }); break L90; case "bindInsertText": if (chatInputRef == null) { break L90; } const current = chatInputRef.current; if (current == null) { break L90; } const text = data.text; let addSpace = data.addSpace; if (addSpace == null) { addSpace = true; } current.insertText(text, null, addSpace); break L90; default: } } } }