Fix export

This commit is contained in:
N-Pex 2025-05-14 10:47:21 +02:00
parent b1d47748c8
commit ac4af0a53d
9 changed files with 41 additions and 32 deletions

View file

@ -307,7 +307,7 @@ export default {
for (const comp of childComponents) {
// Avatars need downloading?
if (comp.$el) {
if (comp.$el && comp.$el.nodeType == 1) {
const avatars = comp.$el.getElementsByClassName("v-avatar");
if (avatars && avatars.length > 0) {
const member = this.room.getMember(comp.event.getSender());
@ -353,7 +353,7 @@ export default {
}
}
let componentClass = comp.$vnode.tag.split("-").reverse()[0];
let componentClass = comp.$options ? comp.$options.__file.split("/").reverse()[0].split(".")[0] : "invalid_component";
switch (componentClass) {
case "MessageIncomingImageExport":
case "MessageOutgoingImageExport":
@ -386,21 +386,15 @@ export default {
let fileName = comp.event.getId() + extension;
imageFolder.file(fileName, blob); // TODO calc bytes
let blobUrl = URL.createObjectURL(blob);
comp.src = blobUrl;
this.$nextTick(() => {
// Update source
let elements = comp.$el.getElementsByClassName("v-image__image");
let element = elements && elements[0];
if (element) {
element.style.backgroundImage = 'url("./images/' + fileName + '")';
element.classList.remove("v-image__image--preload");
}
URL.revokeObjectURL(blobUrl); // Give the blob back
this.processedEvents += 1;
resolve(true);
});
// Update source
const images = comp.$el.getElementsByTagName("img");
for (let imageIndex = 0; imageIndex < images.length; imageIndex++) {
const img = images[imageIndex];
img.removeAttribute("src");
img.setAttribute("data-exported-src", './images/' + fileName);
}
this.processedEvents += 1;
resolve(true);
}
});
})
@ -419,10 +413,9 @@ export default {
currentMediaSize += blob.size;
return new Promise((resolve, ignoredReject) => {
//let mime = blob.type;
var extension = ".mp3";
var extension = ".webm";
let fileName = comp.event.getId() + extension;
audioFolder.file(fileName, blob); // TODO calc bytes
//this.$nextTick(() => {
let elements = comp.$el.getElementsByTagName("audio");
let element = elements && elements[0];
if (element) {
@ -430,7 +423,6 @@ export default {
}
this.processedEvents += 1;
resolve(true);
//});
});
}
})