Merge branch 'master' of https://github.com/morethanwords/tweb
This commit is contained in:
commit
afccc3d2b7
|
@ -259,7 +259,7 @@ export default class AppMediaViewer extends AppMediaViewerBase<'caption', 'delet
|
||||||
const fromId = (message as Message.message).fwd_from && !message.fromId ? (message as Message.message).fwd_from.from_name : message.fromId;
|
const fromId = (message as Message.message).fwd_from && !message.fromId ? (message as Message.message).fwd_from.from_name : message.fromId;
|
||||||
const media = getMediaFromMessage(message);
|
const media = getMediaFromMessage(message);
|
||||||
|
|
||||||
const cantForwardMessage = message._ === 'messageService' || !this.managers.appMessagesManager.canForward(message);
|
const cantForwardMessage = message._ === 'messageService' || ! await this.managers.appMessagesManager.canForward(message);
|
||||||
[this.buttons.forward, this.btnMenuForward.element].forEach((button) => {
|
[this.buttons.forward, this.btnMenuForward.element].forEach((button) => {
|
||||||
button.classList.toggle('hide', cantForwardMessage);
|
button.classList.toggle('hide', cantForwardMessage);
|
||||||
});
|
});
|
||||||
|
@ -271,7 +271,7 @@ export default class AppMediaViewer extends AppMediaViewerBase<'caption', 'delet
|
||||||
button.classList.toggle('hide', cantDownloadMessage);
|
button.classList.toggle('hide', cantDownloadMessage);
|
||||||
});
|
});
|
||||||
|
|
||||||
const canDeleteMessage = this.managers.appMessagesManager.canDeleteMessage(message);
|
const canDeleteMessage = await this.managers.appMessagesManager.canDeleteMessage(message);
|
||||||
[this.buttons.delete, this.btnMenuDelete.element].forEach((button) => {
|
[this.buttons.delete, this.btnMenuDelete.element].forEach((button) => {
|
||||||
button.classList.toggle('hide', !canDeleteMessage);
|
button.classList.toggle('hide', !canDeleteMessage);
|
||||||
});
|
});
|
||||||
|
|
|
@ -432,19 +432,28 @@ export default class ChatContextMenu {
|
||||||
icon: 'download',
|
icon: 'download',
|
||||||
text: 'MediaViewer.Context.Download',
|
text: 'MediaViewer.Context.Download',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
appDownloadManager.downloadToDisc({media: (this.message as any).media.document});
|
appDownloadManager.downloadToDisc({media: (this.message as any).media?.document || (this.message as any).media.photo});
|
||||||
},
|
},
|
||||||
verify: () => {
|
verify: () => {
|
||||||
if(this.message.pFlags.is_outgoing) {
|
if(this.message.pFlags.is_outgoing || this.noForwards) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const doc: MyDocument = ((this.message as Message.message).media as MessageMedia.messageMediaDocument)?.document as any;
|
const isPhoto: boolean = !!((this.message as Message.message).media as MessageMedia.messageMediaPhoto)?.photo;
|
||||||
if(!doc) return false;
|
let isGoodType = false
|
||||||
|
|
||||||
|
if(isPhoto) {
|
||||||
|
isGoodType = true;
|
||||||
|
} else {
|
||||||
|
const doc: MyDocument = ((this.message as Message.message).media as MessageMedia.messageMediaDocument)?.document as any;
|
||||||
|
if(!doc) return false;
|
||||||
|
isGoodType = doc.type && (['gif', 'video'/* , 'sticker' */] as MyDocument['type'][]).includes(doc.type)
|
||||||
|
}
|
||||||
|
|
||||||
let hasTarget = !!IS_TOUCH_SUPPORTED;
|
let hasTarget = !!IS_TOUCH_SUPPORTED;
|
||||||
const isGoodType = !doc.type || !(['gif', 'video'/* , 'sticker' */] as MyDocument['type'][]).includes(doc.type);
|
|
||||||
if(isGoodType) hasTarget ||= !!findUpClassName(this.target, 'document') || !!findUpClassName(this.target, 'audio') || !!findUpClassName(this.target, 'media-sticker-wrapper');
|
if(isGoodType) hasTarget ||= !!findUpClassName(this.target, 'document') || !!findUpClassName(this.target, 'audio') || !!findUpClassName(this.target, 'media-sticker-wrapper') || !!findUpClassName(this.target, 'media-photo') || !!findUpClassName(this.target, 'media-video');
|
||||||
|
|
||||||
return isGoodType && hasTarget;
|
return isGoodType && hasTarget;
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user