// Metro module 8651 (f8652). import { isMessageComponentsV2 } from "../../records/MessageRecord"; import { ComponentType } from "../../flow/Server"; import { getUnfurledMediaItemType, messageAttachmentToMediaItem, embedMediaToMediaItem } from "../media/MediaTypes"; import { isImageContentType, isVideoContentType } from "../messages/MediaFormatTesters"; import maybeCreateMessageRecordFromSnapshot from "../forwarding/maybeCreateMessageRecordFromSnapshot"; import { createMessageRecord } from "../messages/MessageRecordUtils"; import { formatExpirationLabel } from "../polls/chat/useFormattedExpirationLabel"; import { intl, t } from "../../intl/index.native"; import URLUtils from "../../utils/URLUtils"; let c5628_4 = /^#{1,3}\s+(.+)$/; let c5628_5 = /^https?:\/\/\S+$/; export function toAnnouncementMessages(a0) { return a0.map((item) => { let r185, body2, content2, media, message; L16: { message = maybeCreateMessageRecordFromSnapshot(createMessageRecord(item)); content2 = message.content; if (isMessageComponentsV2(message)) { body2 = message.components.filter((component) => component.type === ComponentType.TEXT_DISPLAY).map((item) => item.content).join("\n"); } else { const content = message.content; if (content.length !== 0) { const r41 = c5628_5.test(content.trim()); body2 = content; if (!r41) { break L16; } } const r44 = message.embeds[0]; const r3 = r44 == null; let r45 = null; if (!r3) { const r17 = []; if (r44.rawTitle != null) { r17.push(`# ${r44.rawTitle}`); } if (r44.rawDescription != null) { r17.push(r44.rawDescription); } r45 = r17.length > 0 ? r17.join("\n") : null; } if (r45 == null) { r45 = content; } body2 = r45; } } L40: { if (isMessageComponentsV2(message)) { const r73 = message.components.find((component) => component.type === ComponentType.MEDIA_GALLERY); const r76 = r73 == null ? void 0 : r73.items[0]?.media; if (r76 != null) { const unfurledMediaItemType = getUnfurledMediaItemType(r76); if (unfurledMediaItemType !== "INVALID") { media = { ...r76, type: unfurledMediaItemType, sourceMetadata: { message } }; break L40; } } } const r88 = message.attachments.find((attachment) => isImageContentType(attachment.content_type)); if (r88 != null) { media = messageAttachmentToMediaItem(r88, message); } else { const r93 = message.attachments.find((attachment) => isVideoContentType(attachment.content_type)); if (r93 != null) { media = messageAttachmentToMediaItem(r93, message); } else { let c26253_0, c26253_1, c26253_2; const r97 = message.embeds.find((embed) => embed.video != null && embed.thumbnail != null); c26253_0 = r97; if (r97?.thumbnail != null) { media = embedMediaToMediaItem(r97.thumbnail, { message, identifier: { type: "embed", embedIndex: message.embeds.findIndex((embed) => embed === c26253_0) } }, "IMAGE"); } else { const r103 = message.embeds.find((embed) => embed.image != null); c26253_1 = r103; if (r103?.image != null) { media = embedMediaToMediaItem(r103.image, { message, identifier: { type: "embed", embedIndex: message.embeds.findIndex((embed) => embed === c26253_1) } }, "IMAGE"); } else { const r108 = message.embeds.find((embed) => embed.thumbnail != null); c26253_2 = r108; media = r108?.thumbnail != null ? embedMediaToMediaItem(r108.thumbnail, { message, identifier: { type: "embed", embedIndex: message.embeds.findIndex((embed) => embed === c26253_2) } }, "IMAGE") : void 0; } } } } } const r151 = body2.indexOf("\n"); const r153 = r151 === -1; const r159 = (r153 ? body2 : body2.slice(0, r151)).match(c5628_4); const r161 = r159 != null ? { title: r159[1].trim(), body: r153 ? "" : body2.slice(r151 + 1).trimStart() } : { body: body2 }; const { title, body } = r161; const reactions = item.reactions; let reactionCount = reactions == null ? void 0 : reactions.reduce((acc, reaction) => acc + reaction.count, 0); if (reactionCount == null) { reactionCount = 0; } let embedSource = void 0; if (body2 !== content2) { const isMessageComponentsV22 = isMessageComponentsV2(message); embedSource = void 0; if (!isMessageComponentsV22) { L80: { const r183 = message.embeds[0]; const r184 = r183 != null; r185 = void 0; if (r184) { const name = r183.author?.name; let authorIconUrl = r183.author?.iconProxyURL; if (authorIconUrl == null) { authorIconUrl = r183.author?.iconURL; } let providerName = r183.footer?.text; if (providerName == null) { providerName = r183.provider?.name; } let providerIconUrl = r183.footer?.iconProxyURL; if (providerIconUrl == null) { providerIconUrl = r183.footer?.iconURL; } const url = r183.url; let color = r183.color; if (color == null) { color = void 0; } if (name == null && providerName == null) { const r209 = url != null; r185 = void 0; if (!r209) { break L80; } } r185 = { authorName: name, authorIconUrl, providerName, providerIconUrl, url, color }; } } embedSource = r185; } } return { id: message.id, media, title, body, content: body2, timestamp: item.timestamp, reactionCount, embedSource, poll: message.poll }; }); } export function getPollExpiryLabel(a0) { let r10 = formatExpirationLabel(a0.expiry); if (r10 == null) { r10 = intl.string(t["e+J3JZ"]); } return r10; } export function getPosterUrl(a0, a1, a2) { const r13 = URLUtils.toURLSafe(a0); const r1 = r13 == null; let r15 = null; if (!r1) { r13.searchParams.append("format", "webp"); if (a1 != null) { r13.searchParams.append("width", a1.toString()); } if (a2 != null) { r13.searchParams.append("height", a2.toString()); } r15 = r13.toString(); } return r15; }