Implement video support in lightbox
This commit is contained in:
parent
ac04f0648a
commit
45d6c7a5a8
5 changed files with 61 additions and 24 deletions
|
@ -109,7 +109,8 @@
|
|||
}
|
||||
|
||||
const props = {
|
||||
imageURL: this.objectUrl,
|
||||
objectURL: this.objectUrl,
|
||||
contentType: this.model.contentType,
|
||||
onSave: () => this.saveFile(),
|
||||
// implicit: `close`
|
||||
};
|
||||
|
|
|
@ -600,25 +600,28 @@
|
|||
const media = await loadMessages(rawMedia);
|
||||
|
||||
const saveAttachment = async ({ message } = {}) => {
|
||||
const loadedMessage = await Signal.Migrations.loadMessage(message);
|
||||
const attachment = loadedMessage.attachments[0];
|
||||
const timestamp = loadedMessage.received_at;
|
||||
const attachment = message.attachments[0];
|
||||
const timestamp = message.received_at;
|
||||
Signal.Types.AttachmentTS.save({ attachment, timestamp });
|
||||
};
|
||||
|
||||
const onItemClick = async ({ message, type }) => {
|
||||
const loadedMessage = Signal.Components.Types.Message
|
||||
.withObjectURL(await Signal.Migrations.loadMessage(message));
|
||||
switch (type) {
|
||||
case 'documents': {
|
||||
saveAttachment({ message });
|
||||
saveAttachment({ message: loadedMessage });
|
||||
break;
|
||||
}
|
||||
|
||||
case 'media': {
|
||||
const attachment = loadedMessage.attachments[0];
|
||||
this.lightboxView = new Whisper.ReactWrapperView({
|
||||
Component: Signal.Components.Lightbox,
|
||||
props: {
|
||||
imageURL: message.objectURL,
|
||||
onSave: () => saveAttachment({ message }),
|
||||
objectURL: loadedMessage.objectURL,
|
||||
contentType: attachment.contentType,
|
||||
onSave: () => saveAttachment({ message: loadedMessage }),
|
||||
},
|
||||
onClose: () => Signal.Backbone.Views.Lightbox.hide(),
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue