Files
discord-decomp/modules/messages/native/renderer/transformUploaderAttachments.tsx
T
2026-11-01 12:12:55 +02:00

63 lines
2.5 KiB
TypeScript

// Metro module 7993 (f7994).
import { AttachmentType } from "./RowGeneratorConstants";
import * as _MediaFormatTesters from "../../MediaFormatTesters";
import { getAttachmentObscurityDefaults } from "./ExplicitMediaUtils";
import { intl, t } from "../../../../intl/index.native";
import { CloudUpload } from "../../../../lib/uploader/CloudUpload";
export default function createUploaderAttachments({ uploaderFile, isFailedMessage, shouldInlineAttachmentMedia }) {
const items = uploaderFile.items;
let r8 = items == null ? void 0 : items.map((a0) => {
let filename = a0.filename;
if (filename == null) {
filename = "";
}
const item = a0.item;
let originalUri = item.originalUri;
if (originalUri == null) {
originalUri = "";
}
const isImageFile = _MediaFormatTesters.isImageFile(filename);
const isVideoFile = _MediaFormatTesters.isVideoFile(filename);
const isAudioFile = _MediaFormatTesters.isAudioFile(filename);
let progress = item.progress;
if (progress == null) {
progress = 0;
}
let compressionProgress = item.compressionProgress;
if (compressionProgress == null) {
compressionProgress = 0;
}
const r1 = compressionProgress === 0 ? progress > 0 ? 0 : 0.7 : 0.7;
const r41 = Math.floor(compressionProgress * r1 + progress * (0.9 - r1) + 10);
const progress2 = isFailedMessage ? r41 === 100 ? r41 : void 0 : r41;
const r45 = {
url: originalUri,
videoUrl: isVideoFile ? originalUri : void 0,
...getAttachmentObscurityDefaults(),
filename,
size: item.size != null ? item.size.toString() : "",
showDescription: false,
width: shouldInlineAttachmentMedia ? item.width != null ? item.width : 0 : 0,
height: shouldInlineAttachmentMedia ? item.height != null ? item.height : 0 : 0,
hint: isVideoFile ? intl.string(t["BEWw/7"]) : intl.string(t.IPzNKE),
role: isVideoFile ? intl.string(t["/SCpvi"]) : intl.string(t.fKyfca),
attachmentType: isImageFile ? AttachmentType.IMAGE : isVideoFile ? AttachmentType.VIDEO : isAudioFile ? AttachmentType.AUDIO : AttachmentType.OTHER,
progress: progress2,
uploaderId: uploaderFile.id
};
let id = a0.id;
if (id == null) {
id = "";
}
r45.uploaderItemId = id;
r45.durationSecs = item.durationSecs;
r45.waveform = item.waveform;
r45.id = a0 instanceof CloudUpload ? a0.uniqueId : void 0;
return r45;
});
if (r8 == null) {
r8 = [];
}
return r8;
};