decord/stable/source/modules/messages/MessageAttachmentUtils.tsx
2026-10-06 22:12:49 +00:00

245 lines
9.7 KiB
TypeScript

// Module ID: 11370
// Function ID: 11371
// Name: MessageAttachmentUtils
// Dependencies: [4472, 1086, 6711, 6716, 6715, 7327, 558, 576, 573, 2027, 7723, 1127, 2]
// Exports: getObscureReasonForAttachment, getObscureReasonForEmbed, getObscureReasonForUnfurledMediaItem, getObscuredAlt
// Module 11370 (MessageAttachmentUtils)
import Constants from "Constants" /* 1086 */;
import intl3 from "intl" /* 1127 */;
import ObscuredMediaUtils from "ObscuredMediaUtils" /* 6711 */;
import ObscureMediaModels from "ObscureMediaModels" /* 6715 */;
import ExplicitMediaRedactionModels from "ExplicitMediaRedactionModels" /* 6716 */;
import ForumPostMediaUtils from "ForumPostMediaUtils" /* 7327 */;
import computeGlobalSpoilerDisplayDefault from "computeGlobalSpoilerDisplay" /* 7723 */;
import PermissionStore from "PermissionStore" /* 4472 */;
import ReactCompilerGating from "ReactCompilerGating" /* 558 */;
import size from "module_2" /* 2 */;
let channel;
function getForumPostShouldObscure(media, arg1, enabledHarmTypesBitmaskForChannelType) {
if (null == media) {
const items = [false, undefined];
return items;
} else {
let tmp;
const type = media.type;
if (ForumPostMediaUtils.ForumPostMediaTypes.EMBED === type) {
tmp = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Embed, media };
const obj2 = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Embed, media };
} else if (ForumPostMediaUtils.ForumPostMediaTypes.ATTACHMENT === type) {
tmp = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Attachment, media };
const obj = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Attachment, media };
} else {
tmp = null;
if (ForumPostMediaUtils.ForumPostMediaTypes.COMPONENT === type) {
tmp = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.GenericMedia, media: media.srcUnfurledMediaItem };
const obj3 = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.GenericMedia, media: media.srcUnfurledMediaItem };
}
}
if (null == tmp) {
const items1 = [false, undefined];
return items1;
} else {
let tmp2;
const tmp4Result = ObscuredMediaUtils;
const mediaObscuredReasonFromBitmask = tmp4Result.getMediaObscuredReasonFromBitmask(tmp, enabledHarmTypesBitmaskForChannelType);
ObscuredMediaUtils;
if (mediaObscuredReasonFromBitmask.length > 0) {
const items2 = [true, mediaObscuredReasonFromBitmask[0]];
tmp2 = items2;
} else {
const items3 = [, ];
if (tmp8) {
items3[0] = true;
items3[1] = ObscureMediaModels.ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
tmp2 = items3;
} else if (media.spoiler) {
items3[0] = arg1;
items3[1] = ObscureMediaModels.ObscureReason.SPOILER;
tmp2 = items3;
} else {
items3[0] = false;
items3[1] = undefined;
tmp2 = items3;
}
}
return tmp2;
}
}
}
const Permissions = Constants.Permissions;
let tmp2 = ReactCompilerGating.isReactCompilerEnabled() ? ((channel) => {
let first;
let tmp6;
let tmp9;
const tmp = channel;
const obj = channel(576);
const cResult = obj.c(10);
channel = channel.channel;
const media = channel.media;
if (cResult[0] === Symbol.for("react.memo_cache_sentinel")) {
const items = [PermissionStore];
cResult[0] = items;
first = items;
} else {
first = cResult[0];
}
if (cResult[1] !== channel) {
const fn = function o() {
const canResult = null != channel && PermissionStore.can(Permissions.MANAGE_MESSAGES, tmp);
return canResult;
};
cResult[1] = channel;
cResult[2] = fn;
tmp6 = fn;
} else {
tmp6 = cResult[2];
}
const tmpResult = tmp(573);
const stateFromStores = tmpResult.useStateFromStores(first, tmp6);
const RenderSpoilers = tmp(2027).RenderSpoilers;
const setting = RenderSpoilers.useSetting();
if (cResult[3] === stateFromStores) {
if (cResult[4] === media) {
if (cResult[5] === setting) {
tmp9 = cResult[6];
}
return tmp9;
}
}
tmp(6711);
if (cResult[7] === stateFromStores) {
let tmp12;
if (cResult[8] === setting) {
tmp12 = cResult[9];
}
const tmp15 = getForumPostShouldObscure(media, !tmp12, tmp11);
cResult[3] = stateFromStores;
cResult[4] = media;
cResult[5] = setting;
cResult[6] = tmp15;
tmp9 = tmp15;
}
const tmp13 = computeGlobalSpoilerDisplayDefault(setting, stateFromStores);
cResult[7] = stateFromStores;
cResult[8] = setting;
cResult[9] = tmp13;
tmp12 = tmp13;
}) : ((channel) => {
channel = channel.channel;
const media = channel.media;
const items = [PermissionStore];
const obj = channel(573);
const stateFromStores = obj.useStateFromStores(items, () => {
const canResult = null != channel && PermissionStore.can(Permissions.MANAGE_MESSAGES, tmp);
return canResult;
});
const RenderSpoilers = channel(2027).RenderSpoilers;
const setting = RenderSpoilers.useSetting();
const obj2 = channel(6711);
const enabledHarmTypesBitmaskForChannelType = obj2.getEnabledHarmTypesBitmaskForChannelType(channel(6716).ContentHarmTypeChannel.GUILD);
return getForumPostShouldObscure(media, !computeGlobalSpoilerDisplayDefault(setting, stateFromStores), enabledHarmTypesBitmaskForChannelType);
});
const result = size.fileFinishedImporting("modules/messages/MessageAttachmentUtils.tsx");
export const getObscureReasonForAttachment = function getObscureReasonForAttachment(attachment, enabledHarmTypesBitmaskForChannelAndAuthorId, c2) {
let first;
let flag = c2;
if (c2 === undefined) {
flag = false;
}
const obj = ObscuredMediaUtils;
const obj2 = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Attachment, media: attachment };
const mediaObscuredReasonFromBitmask = obj.getMediaObscuredReasonFromBitmask(obj2, enabledHarmTypesBitmaskForChannelAndAuthorId);
ObscuredMediaUtils;
({ type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Attachment, media: attachment });
if (mediaObscuredReasonFromBitmask.length > 0) {
first = mediaObscuredReasonFromBitmask[0];
} else if (tmp4) {
first = tmp(6715).ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
} else {
first = null;
if (flag) {
first = tmp(6715).ObscureReason.SPOILER;
}
}
return first;
};
export const getObscureReasonForEmbed = function getObscureReasonForEmbed(embed, message, flag2, enabledHarmTypesBitmaskForChannelAndAuthorId) {
let first;
const obj = ObscuredMediaUtils;
const obj2 = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Embed, media: embed };
const mediaObscuredReasonFromBitmask = obj.getMediaObscuredReasonFromBitmask(obj2, enabledHarmTypesBitmaskForChannelAndAuthorId);
let isMediaScanPendingResult = !message.author.bot;
if (isMediaScanPendingResult) {
const obj3 = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.Embed, media: embed };
const isMediaScanPending = ObscuredMediaUtils.isMediaScanPending;
ObscuredMediaUtils;
isMediaScanPendingResult = isMediaScanPending(obj3, enabledHarmTypesBitmaskForChannelAndAuthorId);
}
if (mediaObscuredReasonFromBitmask.length > 0) {
first = mediaObscuredReasonFromBitmask[0];
} else if (isMediaScanPendingResult) {
first = tmp(6715).ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
} else {
first = null;
if (flag2) {
first = tmp(6715).ObscureReason.SPOILER;
}
}
return first;
};
export const getObscureReasonForUnfurledMediaItem = function getObscureReasonForUnfurledMediaItem(size, enabledHarmTypesBitmaskForChannelAndAuthorId, arg2, cResult) {
let EXPLICIT_CONTENT;
let flag = arg2;
if (arg2 === undefined) {
flag = false;
}
let flag2 = cResult;
if (cResult === undefined) {
flag2 = false;
}
const obj = ObscuredMediaUtils;
const obj2 = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.GenericMedia, media: size };
const mediaObscuredReasonFromBitmask = obj.getMediaObscuredReasonFromBitmask(obj2, enabledHarmTypesBitmaskForChannelAndAuthorId);
let isMediaScanPendingResult = !flag2;
if (isMediaScanPendingResult) {
const obj3 = { type: ExplicitMediaRedactionModels.ObscuredMediaTypes.GenericMedia, media: size };
const isMediaScanPending = ObscuredMediaUtils.isMediaScanPending;
ObscuredMediaUtils;
isMediaScanPendingResult = isMediaScanPending(obj3, enabledHarmTypesBitmaskForChannelAndAuthorId);
}
if (mediaObscuredReasonFromBitmask.includes(ObscureMediaModels.ObscureReason.EXPLICIT_CONTENT)) {
EXPLICIT_CONTENT = tmp(6715).ObscureReason.EXPLICIT_CONTENT;
} else if (mediaObscuredReasonFromBitmask.includes(ObscureMediaModels.ObscureReason.GORE_CONTENT)) {
EXPLICIT_CONTENT = tmp(6715).ObscureReason.GORE_CONTENT;
} else if (mediaObscuredReasonFromBitmask.includes(ObscureMediaModels.ObscureReason.SELF_HARM_CONTENT)) {
EXPLICIT_CONTENT = tmp(6715).ObscureReason.SELF_HARM_CONTENT;
} else if (isMediaScanPendingResult) {
EXPLICIT_CONTENT = tmp(6715).ObscureReason.POTENTIAL_EXPLICIT_CONTENT;
} else {
EXPLICIT_CONTENT = null;
if (flag) {
EXPLICIT_CONTENT = tmp(6715).ObscureReason.SPOILER;
}
}
return EXPLICIT_CONTENT;
};
export { getForumPostShouldObscure };
export const useShouldObscure = tmp2;
export const getObscuredAlt = function getObscuredAlt(arg0) {
if (ObscureMediaModels.ObscureReason.EXPLICIT_CONTENT !== arg0) {
if (ObscureMediaModels.ObscureReason.GORE_CONTENT !== arg0) {
if (ObscureMediaModels.ObscureReason.SELF_HARM_CONTENT !== arg0) {
if (ObscureMediaModels.ObscureReason.SPOILER === arg0) {
const intl = tmp(1127).intl;
return intl.string(intl3.t["XpfDH+"]);
}
}
}
}
const intl2 = tmp(1127).intl;
return intl2.string(intl3.t.SEgHFh);
};