// Metro module 9989 (f9990). import ReferencedMessageStore from "../../../replies/ReferencedMessageStore"; import RelationshipStore from "../../../../stores/RelationshipStore"; import UserStore from "../../../../stores/UserStore"; import { MessageTypes } from "../../../../Constants"; import { markPortalAlive } from "../../../../components_native/common/NativePortalView"; import { isAlertOrActionSheetOpen } from "../../../../components_native/chat/isAlertOrActionSheetOpen"; import { MessageReferenceTypes } from "../../../../_bundle/Module694"; import { isThumbnailAttachment, extractMediaFromAttachment, extractMediaSourcesFromEmbed, setMediaSourcePortal, extractMediaSourcesFromComponent, extractMediaSourcesFromMessage, flattenSource } from "../../../media_viewer/native/MediaSourceUtil"; import Linking from "../../../../lib/native/Linking"; import { asComponentId } from "../../../interaction_components/InteractionComponentTypes"; import { openMediaModal } from "../../../media_viewer/native/components/openMediaModal"; import { computeChannelName } from "../../../channel/useChannelName"; import { getChannelIcon } from "../../../../utils/native/ChannelUtils"; export function handleMessagesTapImage(a0) { let r99, r134, length; let initialIndex; const tapImageData = a0.tapImageData; const { index, type, layout, portal, embedIndex, componentId, componentMediaIndex, embedId } = tapImageData; const { allowWithinModal, message, messageChannel, selectedChannelId, showContextName } = a0; initialIndex = void 0; if (portal != null) { markPortalAlive(portal); } L61: { if (!(allowWithinModal !== true && isAlertOrActionSheetOpen(selectedChannelId))) { if (type !== "attachment" && type !== "embed" && type !== "sticker" && type !== "component") { throw new Error(`Unsupported thumbnail type: ${type}`); } const type2 = message.type; const THREAD_STARTER_MESSAGE = MessageTypes.THREAD_STARTER_MESSAGE; let r27 = message; if (type2 === THREAD_STARTER_MESSAGE) { const messageReference = message.messageReference; r27 = message; if (messageReference != null) { const message2 = ReferencedMessageStore.getMessageByReference(message.messageReference).message; r27 = message2 ?? message; } } const type3 = r27.messageReference?.type; const FORWARD = MessageReferenceTypes.FORWARD; let r26 = r27; if (type3 === FORWARD) { r26 = r27.messageSnapshots[0]?.message; if (r26 == null) { break L61; } } const r81 = r27.attachments.filter((attachment) => !isThumbnailAttachment(attachment)); if (type === "attachment" && index < r81.length) { const r83 = r81[index]; if (extractMediaFromAttachment(r83, r27, index, messageChannel.guild_id) == null && r83.url != null && r83.url !== "") { Linking.openURL(r83.url); return void 0; } } L53: { initialIndex = -1; if (type === "embed" && embedIndex != null) { const r160 = r26.embeds[index]; initialIndex = embedIndex; const r169 = extractMediaSourcesFromEmbed(r27, r26, r160, index, messageChannel.guild_id); const length2 = r169.length; r99 = r169; if (!(initialIndex < length2)) { break L53; } setMediaSourcePortal(r169[initialIndex], portal); r99 = r169; } else { if (type === "component") { if (componentId == null) { return null; } L44: { if (embedId != null && embedId !== "") { const r132 = r26.embeds.find((embed) => embed.id === embedId); const r133 = r132 == null; r134 = void 0; if (r133) { break L44; } r134 = r132.components; } else { r134 = r26.components; } } if (r134 != null && r134.length !== 0) { const r148 = extractMediaSourcesFromComponent(r27, r134, messageChannel.guild_id, asComponentId(componentId), componentMediaIndex); if (r148 == null) { return void 0; } const sources = r148.sources; initialIndex = r148.initialIndex; setMediaSourcePortal(sources[initialIndex], portal); r99 = sources; break L53; } return void 0; } const r29 = extractMediaSourcesFromMessage(r27, r26, messageChannel.guild_id); const r98 = 0 < r29.length; let r0 = 0; r99 = r29; if (r98) { do { const r103 = flattenSource(r29[r0]); const r1 = r0; if (r103 != null && r103.accessoryType === type) { let mediaViewIndex = r103.mediaViewIndex; if (mediaViewIndex == null) { mediaViewIndex = r103.mediaIndex; } if (mediaViewIndex === index) { if (r103.noCarousel) { const r120 = [r29[r1]]; initialIndex = 0; setMediaSourcePortal(r120[0], portal); r99 = r120; break; } initialIndex = r1; setMediaSourcePortal(r29[r1], portal); r99 = r29.filter((item, index) => { const r10 = flattenSource(item); const r12 = r10 != null && !r10.noCarousel; if (r12 ? !r12 : initialIndex >= index) { initialIndex = initialIndex - 1; } return r12; }); break; } } r0 = r1 + 1; length = r29.length; r99 = r29; } while (r0 < length); } } } const disableDownload = r99.some((item) => { const r9 = flattenSource(item, true); return r9 != null && r9.disableDownload; }); const initialSources = r99; if (initialIndex !== -1) { openMediaModal({ disableDownload, initialSources, initialIndex, originViewOrOriginLayout: layout, analyticsSource: "Channel", channelId: messageChannel.id, contextName: showContextName ? computeChannelName(messageChannel, UserStore, RelationshipStore, false) : void 0, contextIcon: showContextName ? getChannelIcon(messageChannel) : void 0 }); } } } }