/* Metro module 14858; source: modules/icymi/native/ICYMIMessageRow.tsx; dependencies: [31, 27, 1379, 1945, 1867, 3793, 4864, 1878, 14853, 661, 33, 697, 14815, 477, 14816, 9546, 7230, 566, 14859, 14860, 4573, 1244, 1305, 4617, 6593, 9579, 9580, 12129, 11401, 14854, 14856, 21, 5278, 9122, 14862, 2] */ function _fun112296(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#112296, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:6, offset: 0x023c4268, size: 455 bytes, params: 8, frame: 20 const env0_0 = require; const closure = MessageRowContent; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const value = importAll(31) /* metro dependency 31 */; const env0_4 = (require(27) /* metro dependency 27 */).View; const channelStore = importDefault(1379) /* metro dependency 1379: ChannelStore */; const guildMemberStore = importDefault(1945) /* metro dependency 1945: GuildMemberStore */; const guildStore = importDefault(1867) /* metro dependency 1867: GuildStore */; const relationshipStore = importDefault(3793) /* metro dependency 3793: RelationshipStore */; const userGuildSettingsStore = importDefault(4864) /* metro dependency 4864: UserGuildSettingsStore */; const userStore = importDefault(1878) /* metro dependency 1878: UserStore */; const env0_11 = (require(14853) /* metro dependency 14853: DesignConstants */).ITEM_PADDING; const constantsModule = require(661) /* metro dependency 661: Constants */; const env0_12 = constantsModule.DEFAULT_ROLE_COLOR_HEX; const env0_13 = constantsModule.MessageEmbedTypes; const value3 = require(33) /* metro dependency 33 */; const env0_14 = value3.jsx; const env0_15 = value3.jsxs; const env0_16 = (importDefault(697) /* metro dependency 697: native */).space.PX_12; const env0_17 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; const env0_18 = (require(14815) /* metro dependency 14815: createICYMIStyles */).createICYMIStyles(_fun112304); const env0_19 = value.memo(_fun112305); (require(2) /* metro dependency 2 */).fileFinishedImporting('modules/icymi/native/ICYMIMessageRow.tsx'); exports.default = MessageRowWrapper; exports.MessageRowContent = closure; } function MessageRowContent({message, channel, lineClamp, nested, visible}) { // fn#112297, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:997, offset: 0x023c442f, size: 728 bytes, params: 2, frame: 31 var r11; var r6; var MessageRowPreview; var object; lineClamp = lineClamp === undefined ? 3 : lineClamp; nested = !(nested === undefined) && nested; visible = !(visible === undefined) && visible; const value6 = env0_18(); const binding = env0_3; const useContext = binding.useContext; const ICYMIContext = (require(14816) /* metro dependency 14816: ICYMIContext */).ICYMIContext; const value7 = Reflect.apply(useContext, binding, [ICYMIContext]); const mediaSourceUtilModule = require(9546) /* metro dependency 9546: MediaSourceUtil */; const extractMediaSourcesFromMessage = mediaSourceUtilModule.extractMediaSourcesFromMessage; const guild_id = channel.guild_id; const GRAVITY_VALID_EMBED_TYPES = (require(7230) /* metro dependency 7230: ICYMITypes */).GRAVITY_VALID_EMBED_TYPES; const value8 = Reflect.apply(extractMediaSourcesFromMessage, mediaSourceUtilModule, [message, message, guild_id, GRAVITY_VALID_EMBED_TYPES]); const value9 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserGuildSettingsStore], _fun112298); const value10 = env0_3.useMemo(_fun112299, [message.attachments.length, message.content, message.embeds]); const value11 = message.attachments.every(function({content_type}) { return content_type?.startsWith('audio/'); }); const items3 = [value6.messagePreview]; items3[1] = nested ? null : {paddingLeft: value7.margin}; if (value10) { r6 = !value10; } else { MessageRowPreview = (require(14859) /* metro dependency 14859: ICYMIMessageRowPreview */).MessageRowPreview; object = {message: message, muted: value9, lineClamp: lineClamp}; r11 = value8.length !== 0 ? undefined : message.attachments.length > 0 ? message.embeds.length !== 0 ? undefined : {renderAttachments: true} : undefined; object.messageOptions = r11; r11 = value11 ? 'auto' : 'none'; object.pointerEvents = r11; r6 = ; } const items2 = [r6]; items2[1] = value8.length > 0 && {((Component) => )(importDefault(14860) /* metro dependency 14860: ICYMIMediaMosaic */)}; items2[2] = value8.length === 0 && message.embeds.length > 0 && {((NonMediaEmbedsRowPreview) => )((require(14859) /* metro dependency 14859: ICYMIMessageRowPreview */).NonMediaEmbedsRowPreview)}; return ( {items2} ); } function ReplyMessageContent({message, channel, guild}) { // fn#112301, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:2076, offset: 0x023c47da, size: 847 bytes, params: 2, frame: 42 var r0; const Text = (require(4573) /* metro dependency 4573: Text */).Text; var intl; var items4; var Avatar; var id; var items2; var object; var inset; var moduleValue3; var getName; var items3; var Provider; const value3 = env0_18(); let binding = env0_3; let useContext = binding.useContext; const ICYMIContext = (require(14816) /* metro dependency 14816: ICYMIContext */).ICYMIContext; const value4 = Reflect.apply(useContext, binding, [ICYMIContext]); const user = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() { return UserStore.getUser(message.author.id); }); const r28 = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildMemberStore], function() { return GuildMemberStore.getMember(guild.id, message.author.id); })?.colorString ?? DEFAULT_ROLE_COLOR_HEX; binding = env0_3; useContext = binding.useContext; const width = Reflect.apply(useContext, binding, [ICYMIContext]).width; if (user == null) { r0 = null; } else { var viewBindingProps = {style: value3.replyPreview}; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; items4 = [{intl.string((require(1244) /* metro dependency 1244: indexNative */).t.mPPcez)}]; var viewBinding2Props = {style: value3.replyInner}; Avatar = (require(1305) /* metro dependency 1305: native */).Avatar; id = guild.id; items2 = []; object = {}; inset = value4.inset; object.style = {gap: 4, width: width - inset - 2 * ITEM_PADDING - 2 * PX_12 - 30 - PX_8 - 2}; var textProps2 = {'variant': 'text-md/semibold', 'style': null, 'lineClamp': 1, style: {color: r28}}; moduleValue3 = require(4617) /* metro dependency 4617: NicknameUtils */; getName = moduleValue3.getName; id = guild.id; items3 = [{Reflect.apply(getName, moduleValue3, [id, channel.id, user])}]; Provider = (require(14816) /* metro dependency 14816: ICYMIContext */).ICYMIContext.Provider; inset = value4.inset; items3[1] = ; items2[1] = {items3}; items4[1] = {items2}; r0 = {items4}; } return r0; } function _fun112304(a0) { // fn#112304, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:366, offset: 0x023c4b7f, size: 439 bytes, params: 2, frame: 19 const object5 = {}; const object6 = {flex: 1}; object6.paddingLeft = a0.inset; const PX_82 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object6.gap = PX_82; object5.pressable = object6; const object7 = {}; const isAndroid2 = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid(); const value2 = 0; object7.marginTop = isAndroid2 ? -2 : value2; object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.md; object7.gap = value2; object5.messagePreview = object7; const object9 = {}; const PX_83 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object9.gap = PX_83; object9.marginHorizontal = a0.margin; object9.padding = PX_12; object9.overflow = 'hidden'; object9.borderWidth = 1; const BORDER_SUBTLE = (importDefault(697) /* metro dependency 697: native */).colors.BORDER_SUBTLE; object9.borderColor = BORDER_SUBTLE; object9.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object9.maxHeight = 132; object5.replyPreview = object9; object5.replyInner = {'flexDirection': 'row', 'gap': null, 'overflow': 'hidden', gap: PX_8}; object5.afterMessage = {paddingLeft: a0.inset, paddingBottom: a0.margin}; object5.media = {marginRight: a0.margin}; const object10 = {}; const PX_84 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object10.marginTop = PX_84; object10.marginBottom = a0.margin; const PX_85 = (importDefault(697) /* metro dependency 697: native */).space.PX_8; object10.gap = PX_85; object10.paddingHorizontal = a0.margin; object10.marginLeft = a0.inset; object5.footer = object10; return object5; } function _fun112305({message, channel, guild, visible, messageContext}) { // fn#112305, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:3084, offset: 0x023c4d36, size: 941 bytes, params: 2, frame: 33 var object2; const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserGuildSettingsStore], _fun112306); env0_3.useEffect(_fun112307, [guild?.id, message.author.id]); const value5 = (require(9579) /* metro dependency 9579: ICYMIUtils */).useICYMIMessage(channel.id, messageContext?.reply_message_id); const value6 = (require(9579) /* metro dependency 9579: ICYMIUtils */).useICYMIMessage(channel.id, messageContext?.before_message_id); const value7 = env0_18(); const value8 = env0_3.useCallback(_fun112308, [channel.id, message]); const value9 = env0_3.useCallback(_fun112309, [channel, message]); const value10 = env0_3.useCallback(_fun112310, [channel.id, guild.id, message.id]); const ICYMICardInCard = importDefault(14856) /* metro dependency 14856: ICYMICardInCard */; object2 = {}; const intl = (require(1244) /* metro dependency 1244: indexNative */).intl; object2.actionLabel = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.hMFMY9); object2.id = message.id; object2.interactionType = 'message'; object2.channelId = channel.id; const defaultImport2 = importDefault(21) /* metro dependency 21: SnowflakeUtils */; object2.timestamp = defaultImport2.extractTimestamp(message.id); object2.onHeaderPress = value10; object2.onHeaderLongPress = value8; object2.message = message; object2.shouldFeatureUser = true; const PressableHighlight = (require(5278) /* metro dependency 5278: Pressables */).PressableHighlight; const pressableHighlightProps = {onPress: value10, onLongPress: value9, unstable_pressDelay: 130, accessibilityRole: 'button', accessibilityLabel: (importDefault(9122) /* metro dependency 9122: getChannelA11yLabel */)({channel: channel}), accessibilityHint: (require(9122) /* metro dependency 9122: getChannelA11yLabel */).getChannelA11yHint({channel: channel, muted: value3}), style: value7.pressable}; const items2 = [value6 != null ? : null]; items2[1] = ; items2[2] = value5 != null ? : null; return ( {items2} {((Component) => )(importDefault(14862) /* metro dependency 14862: ICYMICardInteractionRow */)} ); } function MessageRowWrapper({message, messageContext, visible}) { // fn#112311, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:5479, offset: 0x023c534f, size: 251 bytes, params: 2, frame: 23 const value2 = (require(9579) /* metro dependency 9579: ICYMIUtils */).useGravityMessage(message); const channel = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], _fun112312); const guild = (require(566) /* metro dependency 566: flux */).useStateFromStores([GuildStore], function() { return GuildStore.getGuild(channel?.guild_id); }); return channel == null || guild == null || (require(566) /* metro dependency 566: flux */).useStateFromStores([RelationshipStore], _fun112314) ? null : ((Component) => )(env0_19); } function _fun112298() { // fn#112298, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:1262, offset: 0x023c4707, size: 43 bytes, params: 1, frame: 13 const value = environment.__proto__; const isChannelMuted = UserGuildSettingsStore.isChannelMuted; const channelBinding = channel; return Reflect.apply(isChannelMuted, UserGuildSettingsStore, [channelBinding.getGuildId(), channelBinding.id]); } function _fun112299() { // fn#112299, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:1319, offset: 0x023c4732, size: 129 bytes, params: 1, frame: 5 return !(message.embeds.length !== 1 || message.attachments.length > 0) && (message.embeds[0].type === MessageEmbedTypes.GIFV && message.embeds[0].url === message.content); } function _fun112307() { // fn#112307, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:3247, offset: 0x023c50e3, size: 107 bytes, params: 1, frame: 15 var value3; var defaultImport; const guildBinding = guild; const value2 = undefined; if ((guildBinding == null ? value2 : guild.id) != null) { value3 = environment.__proto__; defaultImport = importDefault(6593) /* metro dependency 6593: GuildActionCreators */; defaultImport.requestMembersById(guild == null ? value2 : guild.id, message.author.id); } return value2; } function _fun112308() { // fn#112308, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:3541, offset: 0x023c514e, size: 154 bytes, params: 1, frame: 22 let value = environment.__proto__; const defaultImport = importDefault(9580) /* metro dependency 9580: ICYMIActionCreators */; const itemInteracted = defaultImport.itemInteracted; const messageBinding = message; Reflect.apply(itemInteracted, defaultImport, [messageBinding.id, 'message', 'long_press_channel']); defaultImport.feedItemActioned({itemId: messageBinding.id, itemType: 'message', actionParameters: {'actionGestureType': 'long_press', 'actionTargetElement': 'item_header', 'actionIntentType': 'open', 'actionDestinationType': null}}); value = require(12129) /* metro dependency 12129: openChannelLongPressActionSheet */; value.openChannelLongPressActionSheet(channel.id); } function _fun112309() { // fn#112309, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:3878, offset: 0x023c51e8, size: 189 bytes, params: 1, frame: 22 const defaultImport = importDefault(9580) /* metro dependency 9580: ICYMIActionCreators */; const itemInteracted = defaultImport.itemInteracted; const messageBinding = message; Reflect.apply(itemInteracted, defaultImport, [messageBinding.id, 'message', 'long_press_message']); defaultImport.feedItemActioned({itemId: messageBinding.id, itemType: 'message', actionParameters: {'actionGestureType': 'long_press', 'actionTargetElement': 'item_body', 'actionIntentType': 'open', 'actionDestinationType': null}}); const showLongPressMessageActionSheetModule = require(11401) /* metro dependency 11401: showLongPressMessageActionSheet */; const showLongPressMessageActionSheet = showLongPressMessageActionSheetModule.showLongPressMessageActionSheet; const getUser = UserStore.getUser; Reflect.apply(showLongPressMessageActionSheet, showLongPressMessageActionSheetModule, [{channel: channel, message: messageBinding, user: Reflect.apply(getUser, UserStore, [messageBinding.author.id])}]); } function _fun112310() { // fn#112310, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:4255, offset: 0x023c52a5, size: 170 bytes, params: 1, frame: 22 let value = environment.__proto__; const defaultImport = importDefault(9580) /* metro dependency 9580: ICYMIActionCreators */; const itemInteracted = defaultImport.itemInteracted; const messageBinding = message; Reflect.apply(itemInteracted, defaultImport, [messageBinding.id, 'message', 'press_message']); defaultImport.feedItemActioned({itemId: messageBinding.id, itemType: 'message', actionParameters: {'actionGestureType': 'press', 'actionTargetElement': 'item_container', 'actionIntentType': 'navigate', 'actionDestinationType': 'channel'}}); value = require(14854) /* metro dependency 14854: ICYMIShared */; value.navigateToPost(channel.id, guild.id, messageBinding.id); } function _fun112314() { // fn#112314, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15055:5768, offset: 0x023c5479, size: 38 bytes, params: 1, frame: 11 return RelationshipStore.isBlockedOrIgnored(env0_0.author.id); }