// Metro module 9495 (f9496). import { useMemo } from "react"; import InviteStore from "../../../stores/InviteStore"; import SortedVoiceStateStore from "../../../stores/views/SortedVoiceStateStore"; import { ChannelTypes, GuildFeatures, InviteStates, MessageFlags } from "../../../Constants"; import { LinkType } from "../../applications/message_embed/MessageEmbedConstants"; import { InviteTypes } from "../../instant_invite/Constants"; import MessageViewTrackingManager, { MessageViewTrackingType } from "../MessageViewTrackingManager"; import { useIsGuildOfficialMessagesEnabled } from "../GuildOfficialMessageUtils"; import { CodedLinkType } from "../../coded_links/CodedLink"; import { getInviteType, getGuildInviteExtendedType, GuildInviteExtendedType } from "../../instant_invite/InviteTypeUtils"; import { getVoiceChannelListInviteExperiment } from "../VoiceChannelListInviteExperiment"; import { canShowVoiceChannelListInviteEmbed } from "./renderer/row_data/embeds/coded_links/invite/VoiceChannelListInviteEmbed"; import { getInviteInstanceId } from "../../instant_invite/InviteCodeUtils"; const getVoiceInviteEmbedRenderInfo = function getVoiceInviteEmbedRenderInfo(invite) { if (invite.state !== InviteStates.RESOLVING && invite.state !== InviteStates.EXPIRED && invite.state !== InviteStates.BANNED && invite.state !== InviteStates.ERROR) { if (getInviteType(invite) !== InviteTypes.GUILD) { return null; } if (getGuildInviteExtendedType(invite) !== GuildInviteExtendedType.VOICE_CHANNEL) { return null; } const id = invite.guild?.id; return id == null ? null : { treatmentRendered: getVoiceChannelListInviteExperiment({ guildId: id, location: "mobile_invite_embed_impression" }).enabled && canShowVoiceChannelListInviteEmbed(invite) }; } return null; }; export function useShouldTrackAnnouncementMessageViews({ guild, channel, messages, isMessagesReady }) { const r2 = guild == null; let r9 = void 0; if (!r2) { const features = guild.features; r9 = features == null ? void 0 : features.has(GuildFeatures.COMMUNITY); } if (r9 == null) { r9 = false; } let c17246_3 = r9; return useMemo(() => { let r8 = channel.type === ChannelTypes.GUILD_ANNOUNCEMENT && c17246_3; let r9 = isMessagesReady; if (isMessagesReady) { r9 = messages.some((message) => message.messageReference != null && message.webhookId != null && message.hasFlag(MessageFlags.IS_CROSSPOST) && channel.guild_id != null); } if (!r8) { r8 = r9; } return r8; }, [channel.type, channel.guild_id, r9, isMessagesReady, messages]); } export function useShouldTrackRichPresenceInviteEmbedViews({ messages: messages2, isMessagesReady: isMessagesReady2 }) { return useMemo(() => { let r1 = isMessagesReady2; if (isMessagesReady2) { r1 = messages2.some((item) => item.activity != null && item.activity.party_id != null && item.application != null); } return r1; }, [messages2, isMessagesReady2]); } export function handleAnnouncementMessageViewTracking(a0, a1, a2, c17248_1) { let c17248_2; const guildId = a2; if (a1 && a2 != null) { const r4 = []; c17248_2 = r4; a0.forEach(({ message }) => { const r14 = message.messageReference?.guild_id != null && message.webhookId != null && message.hasFlag(MessageFlags.IS_CROSSPOST); L24: { if (!message.hasFlag(MessageFlags.EPHEMERAL)) { if (c17248_1.type !== ChannelTypes.GUILD_ANNOUNCEMENT && !r14) { break L24; } c17248_2.push({ type: MessageViewTrackingType.ANNOUNCEMENT, messageId: r14 && message.messageReference != null ? message.messageReference.message_id : message.id, channelId: c17248_1.id, guildId, sourceChannelId: r14 && message.messageReference != null ? message.messageReference.channel_id : c17248_1.id, sourceGuildId: r14 ? message.messageReference?.guild_id != null ? message.messageReference.guild_id : guildId : guildId }); } } }); MessageViewTrackingManager.handleMessageListVisibilityChange(r4, MessageViewTrackingType.ANNOUNCEMENT); } } export function handleRichPresenceInviteEmbedViewTracking(a0, a1, guildId2, c17249_1) { let c17249_2; if (a1) { const r4 = []; c17249_2 = r4; a0.forEach(({ message }) => { if (!(message.hasFlag(MessageFlags.EPHEMERAL) || message.activity == null || message.activity.party_id == null || message.application == null)) { c17249_2.push({ type: MessageViewTrackingType.APP_EMBED, messageId: message.id, channelId: c17249_1.id, guildId: guildId2, applicationId: message.application.id, linkType: LinkType.RICH_PRESENCE_INVITE }); } }); MessageViewTrackingManager.handleMessageListVisibilityChange(r4, MessageViewTrackingType.APP_EMBED); } } export function useShouldTrackOfficialMessageViews({ guild, messages: messages3, isMessagesReady: isMessagesReady3 }) { let r14 = guild?.id; if (r14 == null) { r14 = null; } const isGuildOfficialMessagesEnabled = useIsGuildOfficialMessagesEnabled(r14, "useShouldTrackOfficialMessageViews"); return useMemo(() => { let r0 = isGuildOfficialMessagesEnabled; if (isGuildOfficialMessagesEnabled) { r0 = isMessagesReady3; } if (r0) { r0 = messages3.some((item) => item.hasFlag(MessageFlags.IS_GUILD_OFFICIAL)); } return r0; }, [isGuildOfficialMessagesEnabled, isMessagesReady3, messages3]); } export function handleOfficialMessageViewTracking(a0, a1, a2, c17251_1) { let c17251_2; const guildId3 = a2; if (a1 && a2 != null) { const r4 = []; c17251_2 = r4; a0.forEach(({ message }) => { const hasFlag = message.hasFlag(MessageFlags.EPHEMERAL); if (hasFlag ? !hasFlag : message.hasFlag(MessageFlags.IS_GUILD_OFFICIAL)) { c17251_2.push({ type: MessageViewTrackingType.OFFICIAL_MESSAGE, messageId: message.id, channelId: c17251_1.id, guildId: guildId3 }); } }); MessageViewTrackingManager.handleMessageListVisibilityChange(r4, MessageViewTrackingType.OFFICIAL_MESSAGE); } } export function useShouldTrackVoiceInviteEmbedViews({ messages: messages4, isMessagesReady: isMessagesReady4 }) { return useMemo(() => { let r0 = isMessagesReady4; if (isMessagesReady4) { r0 = messages4.some((item) => item.codedLinks.some((codedLink) => codedLink.type === CodedLinkType.INVITE)); } return r0; }, [messages4, isMessagesReady4]); } export function handleVoiceInviteEmbedViewTracking(a0, a1, guildId4, c17253_1) { let c17253_2; if (a1) { const r4 = []; c17253_2 = r4; a0.forEach(({ message }) => { if (!message.hasFlag(MessageFlags.EPHEMERAL)) { for (const codedLink of message.codedLinks) { const r41 = codedLink; if (codedLink.type === CodedLinkType.INVITE) { const invite = InviteStore.getInvite(r41.code); if (invite != null) { const voiceInviteEmbedRenderInfo = getVoiceInviteEmbedRenderInfo(invite); if (voiceInviteEmbedRenderInfo != null) { let r59 = invite.channel?.id; if (r59 == null) { r59 = null; } const inviteChannelId = r59; let r64 = invite.guild?.id; if (r64 == null) { r64 = null; } const inviteGuildId = r64; const hasActiveStream = inviteChannelId != null && inviteGuildId != null && SortedVoiceStateStore.getVoiceStatesForChannelAlt(inviteChannelId, inviteGuildId).some((item) => item.voiceState.selfStream); let inviteInstanceId = getInviteInstanceId(r41.code, message.id); if (inviteInstanceId == null) { inviteInstanceId = null; } c17253_2.push({ type: MessageViewTrackingType.VOICE_INVITE_EMBED, messageId: message.id, channelId: c17253_1.id, guildId: guildId4, inviteCode: r41.code, inviteGuildId, inviteChannelId, inviteInstanceId, treatmentRendered: voiceInviteEmbedRenderInfo.treatmentRendered, hasActiveStream }); } } } } } }); MessageViewTrackingManager.handleMessageListVisibilityChange(r4, MessageViewTrackingType.VOICE_INVITE_EMBED); } }