/* Metro module 11558; source: modules/messages/MessageAttachmentUtils.tsx; dependencies: [3784, 661, 4838, 4841, 4840, 1391, 9587, 632, 3829, 11334, 1244, 2] */ import PermissionStore from '../../stores/PermissionStore.tsx'; /* Metro dependency 3784 */ import ComputeGlobalSpoilerDisplay from './computeGlobalSpoilerDisplay.tsx'; /* Metro dependency 11334 */ import * as FileImportTrackerModule from '../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as UseStateFromStoresModule from '../../external/discord_common/js/packages/flux/useStateFromStores.tsx'; /* Metro dependency 632 */ import * as ConstantsModule from '../../Constants.tsx'; /* Metro dependency 661 */ import * as IndexNativeModule from '../../intl/index.native.tsx'; /* Metro dependency 1244 */ import * as UserSettingsModule from '../user_settings/UserSettings.tsx'; /* Metro dependency 3829 */ import * as ObscuredMediaUtilsModule from '../explicit_media_redaction/ObscuredMediaUtils.tsx'; /* Metro dependency 4838 */ import * as ObscureMediaModelsModule from '../explicit_media_redaction/ObscureMediaModels.tsx'; /* Metro dependency 4840 */ import * as ExplicitMediaRedactionModelsModule from '../explicit_media_redaction/ExplicitMediaRedactionModels.tsx'; /* Metro dependency 4841 */ import * as ForumPostMediaUtilsModule from '../forums/ForumPostMediaUtils.tsx'; /* Metro dependency 9587 */ function _fun88572(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#88572, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:6, offset: 0x01fe90a5, size: 221 bytes, params: 8, frame: 20 const env0_0 = require; const getForumPostShouldObscure2 = getForumPostShouldObscure; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); (FileImportTrackerModule).fileFinishedImporting('modules/messages/MessageAttachmentUtils.tsx'); exports.getObscureReasonForAttachment = getObscureReasonForAttachment; exports.getObscureReasonForEmbed = getObscureReasonForEmbed; exports.getObscureReasonForUnfurledMediaItem = getObscureReasonForUnfurledMediaItem; exports.getForumPostShouldObscure = getForumPostShouldObscure2; exports.useShouldObscure = useShouldObscure; exports.getObscuredAlt = getObscuredAlt; function getForumPostShouldObscure(a0, a1, a2) { // fn#88573, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:159, offset: 0x01fe9182, size: 540 bytes, params: 4, frame: 19 var r0; var items2; const ObscuredMediaTypes = (ExplicitMediaRedactionModelsModule).ObscuredMediaTypes; const ObscureReason = (ObscureMediaModelsModule).ObscureReason; let value = null; if (value == a0) { return [false, undefined]; } const type = a0.type; const ForumPostMediaTypes = (ForumPostMediaUtilsModule).ForumPostMediaTypes; const EMBED = ForumPostMediaTypes.EMBED; const r6 = EMBED === type ? {type: ObscuredMediaTypes.Embed, media: a0} : ForumPostMediaTypes.ATTACHMENT === type ? {type: ObscuredMediaTypes.Attachment, media: a0} : ForumPostMediaTypes.COMPONENT !== type ? value : {type: ObscuredMediaTypes.GenericMedia, media: a0.srcUnfurledMediaItem}; if (value == r6) { return [false, undefined]; } value = require(4838) /* metro dependency 4838: ObscuredMediaUtils */; value = value.getMediaObscuredReasonFromBitmask(r6, a2); if (value.length > 0) { r0 = [true, value[0]]; } else { items2 = []; if ((require(4838) /* metro dependency 4838: ObscuredMediaUtils */).isMediaScanPending(r6, a2)) { items2[0] = true; items2[1] = ObscureReason.POTENTIAL_EXPLICIT_CONTENT; r0 = items2; } else if (a0.spoiler) { items2[0] = a1; items2[1] = ObscureReason.SPOILER; r0 = items2; } else { items2[0] = false; items2[1] = undefined; r0 = items2; } } return r0; } function getObscureReasonForAttachment(a0, a1) { // fn#88574, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:1000, offset: 0x01fe939e, size: 292 bytes, params: 3, frame: 24 var SPOILER; var r0; const ObscureReason = (ObscureMediaModelsModule).ObscureReason; const spoiler = a0.spoiler; const flags = a0.flags; let value = 0; const r7 = flags === undefined ? value : flags; const getMediaObscuredReasonFromBitmask = ObscuredMediaUtilsModule.getMediaObscuredReasonFromBitmask; const ObscuredMediaTypes = (ExplicitMediaRedactionModelsModule).ObscuredMediaTypes; let Attachment = ObscuredMediaTypes.Attachment; const value3 = Reflect.apply(getMediaObscuredReasonFromBitmask, ObscuredMediaUtilsModule, [{type: Attachment, media: a0}, a1]); const isMediaScanPending = ObscuredMediaUtilsModule.isMediaScanPending; object = {}; Attachment = ObscuredMediaTypes.Attachment; object.type = Attachment; object.media = a0; if (value3.length > value) { r0 = value3[value]; } else if (Reflect.apply(isMediaScanPending, ObscuredMediaUtilsModule, [object, a1])) { r0 = ObscureReason.POTENTIAL_EXPLICIT_CONTENT; } else { if (spoiler) { SPOILER = ObscureReason.SPOILER; } else { value = require(1391) /* metro dependency 1391: FlagUtils */; value = value.hasFlag(r7, MessageAttachmentFlags.IS_SPOILER); SPOILER = value ? ObscureReason.SPOILER : null; } r0 = SPOILER; } return r0; } function getObscureReasonForEmbed(a0, {author}, a2, a3) { // fn#88575, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:1408, offset: 0x01fe94c2, size: 256 bytes, params: 5, frame: 21 const ObscureReason = (ObscureMediaModelsModule).ObscureReason; const getMediaObscuredReasonFromBitmask = ObscuredMediaUtilsModule.getMediaObscuredReasonFromBitmask; const ObscuredMediaTypes = (ExplicitMediaRedactionModelsModule).ObscuredMediaTypes; const Embed = ObscuredMediaTypes.Embed; const value2 = Reflect.apply(getMediaObscuredReasonFromBitmask, ObscuredMediaUtilsModule, [{type: Embed, media: a0}, a3]); let r0 = !author.bot && ObscuredMediaUtilsModule.isMediaScanPending({type: ObscuredMediaTypes.Embed, media: a0}, a3); r0 = value2.length > 0 ? value2[0] : r0 ? ObscureReason.POTENTIAL_EXPLICIT_CONTENT : a2 ? ObscureReason.SPOILER : null; return r0; } function getObscureReasonForUnfurledMediaItem(a0, a1) { // fn#88576, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:1765, offset: 0x01fe95c2, size: 461 bytes, params: 3, frame: 22 const value = a2; const value2 = a3; const r2 = value !== undefined ? value : false; let r0 = value2 !== undefined ? value2 : false; const getMediaObscuredReasonFromBitmask = ObscuredMediaUtilsModule.getMediaObscuredReasonFromBitmask; const ObscuredMediaTypes = (ExplicitMediaRedactionModelsModule).ObscuredMediaTypes; const GenericMedia = ObscuredMediaTypes.GenericMedia; const value3 = Reflect.apply(getMediaObscuredReasonFromBitmask, ObscuredMediaUtilsModule, [{type: GenericMedia, media: a0}, a1]); r0 = !r0 && ObscuredMediaUtilsModule.isMediaScanPending({type: ObscuredMediaTypes.GenericMedia, media: a0}, a1); const includes = value3.includes; const ObscureReason = (ObscureMediaModelsModule).ObscureReason; const EXPLICIT_CONTENT = ObscureReason.EXPLICIT_CONTENT; r0 = Reflect.apply(includes, value3, [EXPLICIT_CONTENT]) ? ObscureReason.EXPLICIT_CONTENT : value3.includes(ObscureReason.GORE_CONTENT) ? ObscureReason.GORE_CONTENT : value3.includes(ObscureReason.SELF_HARM_CONTENT) ? ObscureReason.SELF_HARM_CONTENT : r0 ? ObscureReason.POTENTIAL_EXPLICIT_CONTENT : r2 ? ObscureReason.SPOILER : null; return r0; } function useShouldObscure({channel, media}) { // fn#88577, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:2413, offset: 0x01fe978f, size: 188 bytes, params: 2, frame: 20 const value2 = (UseStateFromStoresModule).useStateFromStores([PermissionStore], _fun88578); const RenderSpoilers = (UserSettingsModule).RenderSpoilers; const value3 = RenderSpoilers.useSetting(); const getEnabledHarmTypesBitmaskForChannelType = ObscuredMediaUtilsModule.getEnabledHarmTypesBitmaskForChannelType; const ContentHarmTypeChannel = (ExplicitMediaRedactionModelsModule).ContentHarmTypeChannel; const GUILD = ContentHarmTypeChannel.GUILD; return getForumPostShouldObscure(media, !(ComputeGlobalSpoilerDisplay)(value3, value2), Reflect.apply(getEnabledHarmTypesBitmaskForChannelType, ObscuredMediaUtilsModule, [GUILD])); function _fun88578() { // fn#88578, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:2498, offset: 0x01fe984b, size: 51 bytes, params: 1, frame: 14 return channel != null && PermissionStore.can(Permissions.MANAGE_MESSAGES, channel); } } function getObscuredAlt(a0) { // fn#88579, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:11744:2737, offset: 0x01fe987e, size: 269 bytes, params: 2, frame: 15 const intl = (IndexNativeModule).intl; const t = (IndexNativeModule).t; const ObscureReason = (ObscureMediaModelsModule).ObscureReason; const EXPLICIT_CONTENT = ObscureReason.EXPLICIT_CONTENT; if (EXPLICIT_CONTENT === a0) { return intl.string(t.SEgHFh); } const GORE_CONTENT = ObscureReason.GORE_CONTENT; if (GORE_CONTENT === a0) { return intl.string(t.SEgHFh); } const SELF_HARM_CONTENT = ObscureReason.SELF_HARM_CONTENT; if (SELF_HARM_CONTENT === a0) { return intl.string(t.SEgHFh); } const SPOILER = ObscureReason.SPOILER; if (SPOILER === a0) { return intl.string(t['XpfDH+']); } } } global.__d(_fun88572, 11558, [3784, 661, 4838, 4841, 4840, 1391, 9587, 632, 3829, 11334, 1244, 2]) /* metro module 11558, dependencies: [3784, 661, 4838, 4841, 4840, 1391, 9587, 632, 3829, 11334, 1244, 2] */;