/* Metro module 14860; source: modules/icymi/native/media/ICYMIMediaMosaic.tsx; dependencies: [57, 31, 27, 4502, 1379, 3793, 1878, 9569, 661, 33, 4501, 697, 4631, 676, 566, 9564, 9543, 4017, 4504, 14861, 5475, 4573, 1244, 9376, 4660, 5278, 9580, 10273, 6711, 14816, 9546, 7230, 1360, 22, 5097, 9544, 4805, 2] */ import Module00057 from '../../../../by-id/module-00057.js'; /* Metro dependency 57 */ import ChannelStore from '../../../../stores/ChannelStore.tsx'; /* Metro dependency 1379 */ import UserStore from '../../../../stores/UserStore.tsx'; /* Metro dependency 1878 */ import RelationshipStore from '../../../../stores/RelationshipStore.tsx'; /* Metro dependency 3793 */ import ReanimatedRexport from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import AccessibilityStore from '../../../a11y/AccessibilityStore.tsx'; /* Metro dependency 4502 */ import FastImage from '../../../../components_native/common/FastImage.tsx'; /* Metro dependency 5475 */ import Video from '../../../../components_native/common/Video.tsx'; /* Metro dependency 9543 */ import ICYMIStore from '../../ICYMIStore.tsx'; /* Metro dependency 9569 */ import ICYMIActionCreators from '../../ICYMIActionCreators.tsx'; /* Metro dependency 9580 */ import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactNativeModule from '../../../../by-id/module-00027-ReactNative.js'; /* Metro dependency 27 */ import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as GlobalUtilsModule from '../../../../utils/GlobalUtils.tsx'; /* Metro dependency 1360 */ import * as ReanimatedRexportModule from '../../../reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import * as CreateStylesModule from '../../../../design/components/Styles/native/createStyles.tsx'; /* Metro dependency 4501 */ import * as UploadUtilsModule from '../../../../utils/native/UploadUtils.tsx'; /* Metro dependency 4660 */ import * as ReadStateActionCreatorsModule from '../../../../actions/ReadStateActionCreators.tsx'; /* Metro dependency 5097 */ import * as ICYMITypesModule from '../../ICYMITypes.tsx'; /* Metro dependency 7230 */ import * as OpenMediaModalModule from '../../../media_viewer/native/components/openMediaModal.tsx'; /* Metro dependency 9544 */ import * as MediaSourceUtilModule from '../../../media_viewer/native/MediaSourceUtil.tsx'; /* Metro dependency 9546 */ import * as AndroidRNVHttpEngineExperimentModule from '../../../media_uploads/experiments/AndroidRNVHttpEngineExperiment.tsx'; /* Metro dependency 9564 */ import * as ICYMIContextModule from '../ICYMIContext.tsx'; /* Metro dependency 14816 */ function _fun112332(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#112332, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:6, offset: 0x023c5e4a, size: 519 bytes, params: 8, frame: 20 const env0_0 = require; const GravityAttachmentMediaMosaic2 = GravityAttachmentMediaMosaic; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); let value = ReactNativeModule; const env0_5 = value.Pressable; const env0_6 = value.View; value = require(661) /* metro dependency 661: Constants */; const env0_12 = value.AnalyticsObjectTypes; const env0_13 = value.AnalyticsObjects; const env0_14 = value.AnalyticsPages; value = require(33) /* metro dependency 33 */; const env0_15 = value.jsx; const env0_16 = value.Fragment; const env0_17 = value.jsxs; const env0_18 = (CreateStylesModule).createStyles(_fun112358); object = {code: 'function ICYMIMediaMosaicTsx1(){const{withTiming,imageFinishedLoading}=this.__closure;return{opacity:withTiming(imageFinishedLoading?0:1,{duration:150})};}'}; (FileImportTrackerModule).fileFinishedImporting('modules/icymi/native/media/ICYMIMediaMosaic.tsx'); exports.default = ICYMIMediaMosaic; exports.GravityAttachmentMediaMosaic = GravityAttachmentMediaMosaic2; function isMediaSourceGif(a0) { // fn#112333, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:1823, offset: 0x023c6051, size: 75 bytes, params: 2, frame: 17 var r0; var value; const isGIFV = a0.isGIFV; if (isGIFV) { r0 = isGIFV; } else { value = require(4631) /* metro dependency 4631: MediaFormatTesters */; value = value.urlMatchesFileExtension(a0.sourceURI, (require(676) /* metro dependency 676: ConstantsIOS */).GIF_RE_IOS); r0 = value; } return r0; } function MediaMosaicVideo({source, height, width, autoplay, style}) { // fn#112334, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:1935, offset: 0x023c609c, size: 273 bytes, params: 2, frame: 25 const styles = useStyles(); const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ICYMIStore], function() { return ICYMIStore.videosMuted(); }); const value3 = (AndroidRNVHttpEngineExperimentModule).useRnvHttpEngine(); let r13 = source.videoURI ?? source.sourceURI; r13 = r13 ?? source.uri; return ((Component) => )(Video); } function MediaMosaicImage({source, dimensions, style, isSpoiler}) { // fn#112336, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:2517, offset: 0x023c61c0, size: 478 bytes, params: 2, frame: 33 const styles = useStyles(); const [property, env0_2] = Module00057(ReactModule.useState(false), 2); const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; const MediaMosaicImageC2 = MediaMosaicImageC; const object = {}; object.withTiming = (require(4504) /* metro dependency 4504: timing */).withTiming; object.imageFinishedLoading = property; MediaMosaicImageC2.__closure = object; MediaMosaicImageC2.__workletHash = 7803531897566; MediaMosaicImageC2.__initData = env0_19; const value5 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [MediaMosaicImageC2]); const value6 = ReactModule.useMemo(_fun112338, [source.height, source.placeholder, source.width]); const jsxRuntimeEnv0_16Binding = jsxRuntimeEnv0_16; const View = (ReanimatedRexport).View; const view = ( {((Component) => )(FastImage)} ); const Image = (ReanimatedRexport).Image; return ( <> {view} ); function MediaMosaicImageC() { // fn#112337, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:2672, owner: MediaMosaicImage.c, offset: 0x023c639e, size: 68 bytes, params: 1, frame: 15 let value = environment.__proto__; value = require(4504) /* metro dependency 4504: timing */; return {opacity: value.withTiming(env0_1 ? 0 : 1, {duration: 150})}; } function _fun112338() { // fn#112338, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:2871, offset: 0x023c63e2, size: 95 bytes, params: 1, frame: 13 var value2; var moduleValue; var createThumbhashImageFromPlaceholder; if (source.placeholder != null) { value2 = environment.__proto__; moduleValue = require(14861) /* metro dependency 14861: ThumbhashUtils */; createThumbhashImageFromPlaceholder = moduleValue.createThumbhashImageFromPlaceholder; sourceBinding = source; return {uri: Reflect.apply(createThumbhashImageFromPlaceholder, moduleValue, [sourceBinding.placeholder]), width: sourceBinding.width, height: sourceBinding.height}; } } function onLoadEnd() { // fn#112339, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:3214, owner: MediaMosaicImage.onLoadEnd, offset: 0x01df39bc, size: 18 bytes, params: 1, frame: 11 return env0_2(true); } } function Media({source, dimensions, initialIndex, handlePressMedia, style, visible}) { // fn#112340, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:3254, offset: 0x023c6441, size: 1192 bytes, params: 2, frame: 39 var r5; var Text; var intl; const styles = useStyles(); let binding = undefined; const value3 = binding.useRef(null); binding = undefined; const useState = binding.useState; const spoiler = source.spoiler; const value6 = undefined(Reflect.apply(useState, binding, [spoiler != null && spoiler]), 2); const property = value6[0]; const value7 = value6[1].useCallback(_fun112341, [handlePressMedia, initialIndex, property]); const value8 = (require(566) /* metro dependency 566: flux */).useStateFromStores([ICYMIStore], function() { return ICYMIStore.videosMuted(); }); const useReducedMotion = (require(566) /* metro dependency 566: flux */).useStateFromStores([AccessibilityStore], function() { return AccessibilityStore.useReducedMotion; }); if (property) { var viewBindingProps = {style: styles.centerContainer}; var viewBinding2Props = {style: styles.spoilerText}; Text = (require(4573) /* metro dependency 4573: Text */).Text; intl = (require(1244) /* metro dependency 1244: indexNative */).intl; r5 = ( {intl.string((require(1244) /* metro dependency 1244: indexNative */).t['F+x38C']).toUpperCase()} ); } else { r5 = property; } const items2 = [r5]; items2[1] = source.videoURI != null && !property && !isMediaSourceGif(source) && useReducedMotion && {((PlayIcon) => )((require(9376) /* metro dependency 9376: PlayIcon */).PlayIcon)}; items2[2] = ( UploadUtilsModule.isVideo(source.uri) ? ( isMediaSourceGif(source) ? null : ( {((PressableOpacity) => {value8 ? ((VoiceXIcon) => )((require(10273) /* metro dependency 10273: VoiceXIcon */).VoiceXIcon) : ((VoiceNormalIcon) => )((require(6711) /* metro dependency 6711: VoiceNormalIcon */).VoiceNormalIcon)})((require(5278) /* metro dependency 5278: Pressables */).PressableOpacity)} ) ) : null ); items2[3] = ( (UploadUtilsModule.isVideo(source.uri) || isMediaSourceGif(source)) && source.videoURI != null ? ( ) : ( ) ); return ( {items2} ); function _fun112341() { // fn#112341, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:3452, offset: 0x023c68e9, size: 59 bytes, params: 1, frame: 12 if (Module00057) { ReactModule(false); } else { handlePressMedia({ref: env0_2, initialIndex: initialIndex}); } } function MediaOnPress() { // fn#112344, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:4295, owner: Media.onPress, offset: 0x023c6924, size: 48 bytes, params: 1, frame: 11 const value = environment.__proto__; return (ICYMIActionCreators).setVideosMuted(!env0_5); } } function OneImageRow({source, handlePressMedia, widthOverride}) { // fn#112345, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:4728, offset: 0x023c6954, size: 153 bytes, params: 2, frame: 20 const styles = useStyles(); const value2 = useMaxWidth(widthOverride); return ( ); } function ThreeImagesRow({sources, start, end, offset, handlePressMedia, widthOverride}) { // fn#112346, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:4962, offset: 0x023c69ed, size: 156 bytes, params: 2, frame: 20 const styles = useStyles(); const env0_2 = useMaxWidth(widthOverride); return ( {sources.map(_fun112347)} ); function _fun112347(a0, a1) { // fn#112347, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:5158, offset: 0x023c6a89, size: 104 bytes, params: 3, frame: 20 const handlePressMediaBinding = handlePressMedia; const offsetBinding = offset; const binding = env0_2; return ( ); } } function TwoImagesRow({sources, handlePressMedia, end, widthOverride}) { // fn#112348, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:5271, offset: 0x023c6af1, size: 184 bytes, params: 2, frame: 20 const styles = useStyles(); const value2 = useMaxWidth(widthOverride); const env0_1 = {width: (value2 - 4) / 2, height: (value2 - 4) / 2 / 0.75}; return ( {sources.map(_fun112349)} ); function _fun112349(a0, a1) { // fn#112349, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:5482, offset: 0x023c6ba9, size: 60 bytes, params: 3, frame: 16 return ( ); } } function ThreeImages({sources, handlePressMedia, widthOverride}) { // fn#112350, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:5562, offset: 0x023c6be5, size: 366 bytes, params: 2, frame: 29 const styles = useStyles(); const value2 = useMaxWidth(widthOverride); return ( ); } function FourImages({sources, handlePressMedia, widthOverride}) { // fn#112351, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:6072, offset: 0x023c6d53, size: 405 bytes, params: 2, frame: 28 const styles = useStyles(); const value2 = useMaxWidth(widthOverride); const object = {width: value2 / 2 - 4, height: (value2 / 2 - 4) / 1.5}; return ( ); } function SingleImage({source, initialIndex, handlePressMedia, visible, widthOverride}) { // fn#112352, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:6626, offset: 0x023c6ee8, size: 194 bytes, params: 2, frame: 22 const styles = useStyles(); const value2 = useMaxWidth(widthOverride); const useMemo = ReactModule.useMemo; return ( ); function _fun112353() { // fn#112353, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:6759, offset: 0x023c6faa, size: 157 bytes, params: 1, frame: 15 var Math; var value; const sourceBinding = source; const value2 = sourceBinding.width / sourceBinding.height; if (value2 >= 1) { Math = global.Math; value = Math.min(source.width, env0_1); return {height: value / value2, width: value}; } Math = global.Math; const value3 = Math.min(source.height, 330); const value4 = value3 * value2; return value4 > env0_1 ? {width: env0_1, height: env0_1 / value2} : {width: value4, height: value3}; } } function GravityAttachmentMediaMosaic({sources, handlePressMedia, visible, widthOverride}) { // fn#112354, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:7103, offset: 0x023c7047, size: 300 bytes, params: 2, frame: 23 const length = sources.length; const styles = useStyles(); return ( length === 0 ? null : ( length === 1 ? ( ) : ( length === 3 ? ( ) : ( length === 4 ? ( ) : ( {ReactModule.useMemo(function() { var value4; var items = []; var lengthBinding = length; var value2 = 3; var value3 = lengthBinding % value2; var r2 = value3 === 0 ? value2 : value3; items.push(sources.slice(0, r2)); if (r2 < length) { reducibleLoop2: while (true) { sourcesBinding = sources; value4 = r2 + value2; items.push(sourcesBinding.slice(r2, value4)); if (value4 < length) { r2 = value4; continue reducibleLoop2; } break reducibleLoop2; } } return items; }, [length, sources]).map(_fun112356)} ) ) ) ) ); function _fun112356(a0, a1) { // fn#112356, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:7642, offset: 0x023c71dc, size: 275 bytes, params: 3, frame: 20 var value; if (a0.length === 1) { value = environment.__proto__; value = environment; return ( ); } if (a0.length === 2) { value = environment.__proto__; value = environment; return ( ); } const value2 = a1 === 0; const r8 = value2 ? value : ReactModule[value].length + 3 * (a1 - 1); value = environment.__proto__; return ( ); } } function useMaxWidth(a0) { // fn#112357, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:7983, offset: 0x023c72ef, size: 98 bytes, params: 2, frame: 14 var r0; let value = a0; const useContext = ReactModule.useContext; const value3 = undefined; const ICYMIContext = (ICYMIContextModule).ICYMIContext; const value4 = Reflect.apply(useContext, ReactModule, [ICYMIContext]); if (value != null) { r0 = value; } else { value = (value4 == null ? value3 : value4.width) - value4.inset; value -= 2 * value4.margin; r0 = value; } return r0; } function _fun112358() { // fn#112358, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:339, offset: 0x023c7351, size: 762 bytes, params: 1, frame: 17 const object = {}; const object2 = {}; object2.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.xs; object.media = object2; const BACKGROUND_SURFACE_HIGH = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_SURFACE_HIGH; object.video = {backgroundColor: BACKGROUND_SURFACE_HIGH}; object.thumbhashMedia = {'position': 'absolute', 'top': 0, 'left': 0, 'zIndex': 1}; object.container = {gap: 4}; object.imagesContainer = {'justifyContent': 'center', 'gap': 4, 'width': '100%'}; object.imageRow = {'flexDirection': 'row', 'gap': 4}; const object5 = {overflow: 'hidden'}; object5.borderTopEndRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object5.borderTopStartRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object.topRow = object5; const object6 = {overflow: 'hidden'}; object6.borderBottomEndRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object6.borderBottomStartRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object.bottomRow = object6; const object7 = {}; const BACKGROUND_BASE_LOW = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOW; object7.backgroundColor = BACKGROUND_BASE_LOW; object7.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; object7.padding = 16; object.videoIcon = object7; const object8 = {'position': 'absolute', 'borderRadius': null, 'padding': null, 'bottom': 8, 'right': 8}; object8.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.round; const PX_4 = (importDefault(697) /* metro dependency 697: native */).space.PX_4; object8.padding = PX_4; object.muteIcon = object8; const object9 = {}; const SPOILER_HIDDEN_BACKGROUND = (importDefault(697) /* metro dependency 697: native */).colors.SPOILER_HIDDEN_BACKGROUND; object9.backgroundColor = SPOILER_HIDDEN_BACKGROUND; object9.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; const PX_12 = (importDefault(697) /* metro dependency 697: native */).space.PX_12; object9.paddingHorizontal = PX_12; object9.paddingVertical = 6; object.spoilerText = object9; const object10 = {overflow: 'hidden'}; object10.borderTopStartRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object10.borderBottomStartRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object.leftColumn = object10; const object11 = {overflow: 'hidden'}; object11.borderTopEndRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object11.borderBottomEndRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object11.gap = 4; object.rightColumn = object11; const object12 = {overflow: 'hidden'}; object12.borderRadius = (importDefault(697) /* metro dependency 697: native */).radii.lg; object.singleImage = object12; object.centerContainer = {'position': 'absolute', 'width': '100%', 'height': '100%', 'alignItems': 'center', 'justifyContent': 'center', 'zIndex': 2}; object.absoluteContainer = {'position': 'absolute', 'width': '100%', 'height': '100%', 'zIndex': 2}; const BACKGROUND_BASE_LOWER = (importDefault(697) /* metro dependency 697: native */).colors.BACKGROUND_BASE_LOWER; object.iconBg = {backgroundColor: BACKGROUND_BASE_LOWER}; const WHITE = (importDefault(697) /* metro dependency 697: native */).colors.WHITE; object.iconBgSelected = {backgroundColor: WHITE}; return object; } function ICYMIMediaMosaic({message, widthOverride, visible, itemType}) { // fn#112359, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:8202, offset: 0x023c764b, size: 389 bytes, params: 2, frame: 26 var r0; var items2; var value; const styles = useStyles(); const channel = (require(566) /* metro dependency 566: flux */).useStateFromStores([ChannelStore], function() { return ChannelStore.getChannel(message.getChannelId()); }); const channel2 = channel; const {allMediaSources, nonEmbedSources, embedSources} = channel2.useMemo(_fun112361, [message]); const value4 = channel2.useCallback(_fun112364, [message.channel_id, message.id, allMediaSources, channel, itemType]); if (nonEmbedSources.length !== 0) { var viewBindingProps = {style: styles.container}; value = ( ); items2 = [value]; items2[1] = embedSources?.map(_fun112366); value = ( {items2} ); r0 = value; } else if (embedSources.length === 0) { r0 = null; } else { var viewBindingProps = {style: styles.container}; value = ( ); items2 = [value]; items2[1] = embedSources?.map(_fun112366); value = ( {items2} ); r0 = value; } return r0; function _fun112361() { // fn#112361, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:8373, offset: 0x023c77f4, size: 194 bytes, params: 1, frame: 20 var environment; let value = environment.__proto__; const extractMediaSourcesFromMessage = MediaSourceUtilModule.extractMediaSourcesFromMessage; const messageBinding = message; const GRAVITY_VALID_EMBED_TYPES = (ICYMITypesModule).GRAVITY_VALID_EMBED_TYPES; const value4 = Reflect.apply(extractMediaSourcesFromMessage, MediaSourceUtilModule, [messageBinding, messageBinding, undefined, GRAVITY_VALID_EMBED_TYPES]).map(_fun112362); const value5 = value4.filter((GlobalUtilsModule).isNotNullish); value = env1_3((require(22) /* metro dependency 22 */).partition(value5, function(a0) { return a0.accessoryType === 'embed'; }), 2); return {allMediaSources: value5, nonEmbedSources: value[1], embedSources: value[0]}; function _fun112362(a0) { // fn#112362, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:8476, offset: 0x023c78b6, size: 41 bytes, params: 2, frame: 11 const value = environment.__proto__.__proto__; return (MediaSourceUtilModule).flattenSource(a0); } } function _fun112364({ref, initialIndex}) { // fn#112364, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:8751, offset: 0x023c78f2, size: 402 bytes, params: 2, frame: 28 var environment; var r5; var moduleValue3; const value = environment.__proto__; const defaultImport = ICYMIActionCreators; const itemInteracted = defaultImport.itemInteracted; const messageBinding = message; Reflect.apply(itemInteracted, defaultImport, [messageBinding.id, 'message', 'press_media']); defaultImport.feedItemActioned({itemId: messageBinding.id, itemType: itemType, actionParameters: {'actionGestureType': 'press', 'actionTargetElement': 'media_mosaic', 'actionIntentType': 'open', 'actionDestinationType': null}}); const ack = ReadStateActionCreatorsModule.ack; const channel_id = messageBinding.channel_id; const ICYMI = AnalyticsPages.ICYMI; const ACK_MEDIA_VIEWED = AnalyticsObjects.ACK_MEDIA_VIEWED; const ACK_SEMI_AUTOMATIC = AnalyticsObjectTypes.ACK_SEMI_AUTOMATIC; Reflect.apply(ack, ReadStateActionCreatorsModule, [channel_id, {page: ICYMI, object: ACK_MEDIA_VIEWED, objectType: ACK_SEMI_AUTOMATIC}, true, true, messageBinding.id]); allMediaSources.forEach(_fun112365); const openMediaModal = OpenMediaModalModule.openMediaModal; const object2 = {disableDownload: false, initialSources: [], initialIndex: initialIndex, analyticsSource: 'Channel'}; object2.channelId = messageBinding.channel_id; if (channel != null) { moduleValue3 = require(4805) /* metro dependency 4805: useChannelName */; r5 = moduleValue3.computeChannelName(channel, UserStore, RelationshipStore); } else { r5 = ''; } object2.contextName = r5; object2.contextIcon = undefined; object2.originViewOrOriginLayout = ref.current; Reflect.apply(openMediaModal, OpenMediaModalModule, [object2]); function _fun112365(a0) { // fn#112365, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:9146, offset: 0x023c7a84, size: 42 bytes, params: 2, frame: 14 const binding = env0_0; const push = binding.push; const object = {}; copyDataProperties(object, a0, undefined); object['embedURI'] = undefined; Reflect.apply(push, binding, [object]); } } function _fun112366(a0, a1) { // fn#112366, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15057:9635, offset: 0x023c7aae, size: 106 bytes, params: 3, frame: 16 const value = environment.__proto__; return ( ); } } } global.__d(_fun112332, 14860, [57, 31, 27, 4502, 1379, 3793, 1878, 9569, 661, 33, 4501, 697, 4631, 676, 566, 9564, 9543, 4017, 4504, 14861, 5475, 4573, 1244, 9376, 4660, 5278, 9580, 10273, 6711, 14816, 9546, 7230, 1360, 22, 5097, 9544, 4805, 2]) /* metro module 14860, dependencies: [57, 31, 27, 4502, 1379, 3793, 1878, 9569, 661, 33, 4501, 697, 4631, 676, 566, 9564, 9543, 4017, 4504, 14861, 5475, 4573, 1244, 9376, 4660, 5278, 9580, 10273, 6711, 14816, 9546, 7230, 1360, 22, 5097, 9544, 4805, 2] */;