Fix rendering custom emoji in grouped documents
Fix flickering bottom message on sending Fix disappearing time when sending pdf
This commit is contained in:
parent
49a067fc5c
commit
e7072529c0
|
@ -532,7 +532,7 @@ export default class ChatBubbles {
|
|||
div.replaceWith(newDiv);
|
||||
|
||||
if(timeSpan) {
|
||||
newDiv.querySelector('.document').append(timeSpan);
|
||||
(newDiv.querySelector('.document') || newDiv).append(timeSpan);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -3578,22 +3578,28 @@ export default class ChatBubbles {
|
|||
}
|
||||
|
||||
let messageMedia: MessageMedia = isMessage && message.media;
|
||||
|
||||
let needToSetHTML = true;
|
||||
let messageMessage: string, totalEntities: MessageEntity[];
|
||||
if(isMessage) {
|
||||
if((messageMedia as MessageMedia.messageMediaDocument)?.document &&
|
||||
!['video', 'gif'].includes(((messageMedia as MessageMedia.messageMediaDocument).document as MyDocument).type)) {
|
||||
// * just filter these cases for documents caption
|
||||
} else if(groupedId && albumMustBeRenderedFull) {
|
||||
if(groupedId && albumMustBeRenderedFull) {
|
||||
const t = getAlbumText(albumMessages);
|
||||
messageMessage = t.message;
|
||||
// totalEntities = t.entities;
|
||||
totalEntities = t.totalEntities;
|
||||
} else if(((messageMedia as MessageMedia.messageMediaDocument)?.document as MyDocument)?.type !== 'sticker') {
|
||||
} else {
|
||||
messageMessage = message.message;
|
||||
// totalEntities = message.entities;
|
||||
totalEntities = message.totalEntities;
|
||||
}
|
||||
|
||||
const document = (messageMedia as MessageMedia.messageMediaDocument)?.document as MyDocument;
|
||||
if(document) {
|
||||
if(document?.type === 'sticker') {
|
||||
messageMessage = totalEntities = undefined;
|
||||
} else if(!['video', 'gif'].includes(document.type)) {
|
||||
needToSetHTML = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if(message.action._ === 'messageActionPhoneCall') {
|
||||
messageMedia = {
|
||||
|
@ -3636,7 +3642,6 @@ export default class ChatBubbles {
|
|||
|
||||
let canHaveTail = true;
|
||||
let isStandaloneMedia = false;
|
||||
let needToSetHTML = true;
|
||||
if(bigEmojis) {
|
||||
if(rootScope.settings.emoji.big) {
|
||||
const sticker = bigEmojis === 1 &&
|
||||
|
@ -4231,7 +4236,8 @@ export default class ChatBubbles {
|
|||
isScheduled: (message as Message.message).pFlags.is_scheduled
|
||||
} : undefined,
|
||||
sizeType: 'documentName',
|
||||
fontSize: rootScope.settings.messagesTextSize
|
||||
fontSize: rootScope.settings.messagesTextSize,
|
||||
richTextFragment: richText
|
||||
});
|
||||
|
||||
if(newNameContainer) {
|
||||
|
|
|
@ -9,6 +9,7 @@ import {CancellablePromise} from '../../helpers/cancellablePromise';
|
|||
import {clearBadCharsAndTrim} from '../../helpers/cleanSearchText';
|
||||
import {formatFullSentTime} from '../../helpers/date';
|
||||
import {simulateClickEvent, attachClickEvent} from '../../helpers/dom/clickEvent';
|
||||
import findUpClassName from '../../helpers/dom/findUpClassName';
|
||||
import formatBytes from '../../helpers/formatBytes';
|
||||
import {MediaSizeType} from '../../helpers/mediaSizes';
|
||||
import noop from '../../helpers/noop';
|
||||
|
@ -334,6 +335,10 @@ export default async function wrapDocument({message, withTime, fontWeight, voice
|
|||
}
|
||||
|
||||
attachClickEvent(docDiv, (e) => {
|
||||
if(findUpClassName(e.target, 'time')) { // prevent downloading by clicking on time
|
||||
return;
|
||||
}
|
||||
|
||||
if(preloader) {
|
||||
preloader.onClick(e);
|
||||
} else {
|
||||
|
|
|
@ -8,13 +8,12 @@ import setInnerHTML from '../../helpers/dom/setInnerHTML';
|
|||
import {MediaSizeType} from '../../helpers/mediaSizes';
|
||||
import {Message} from '../../layer';
|
||||
import {AppManagers} from '../../lib/appManagers/managers';
|
||||
import wrapRichText from '../../lib/richTextProcessor/wrapRichText';
|
||||
import {MediaSearchContext} from '../appMediaPlaybackController';
|
||||
import Chat from '../chat/chat';
|
||||
import LazyLoadQueue from '../lazyLoadQueue';
|
||||
import wrapDocument from './document';
|
||||
|
||||
export default async function wrapGroupedDocuments({albumMustBeRenderedFull, message, bubble, messageDiv, chat, loadPromises, autoDownloadSize, lazyLoadQueue, searchContext, useSearch, sizeType, managers, fontWeight, fontSize}: {
|
||||
export default async function wrapGroupedDocuments({albumMustBeRenderedFull, message, bubble, messageDiv, chat, loadPromises, autoDownloadSize, lazyLoadQueue, searchContext, useSearch, sizeType, managers, fontWeight, fontSize, richTextFragment}: {
|
||||
albumMustBeRenderedFull: boolean,
|
||||
message: any,
|
||||
messageDiv: HTMLElement,
|
||||
|
@ -29,7 +28,8 @@ export default async function wrapGroupedDocuments({albumMustBeRenderedFull, mes
|
|||
sizeType?: MediaSizeType,
|
||||
managers?: AppManagers,
|
||||
fontWeight?: number,
|
||||
fontSize?: number
|
||||
fontSize?: number,
|
||||
richTextFragment?: DocumentFragment
|
||||
}) {
|
||||
let nameContainer: HTMLElement;
|
||||
const mids = albumMustBeRenderedFull ? await chat.getMidsByMid(message.mid) : [message.mid];
|
||||
|
@ -63,11 +63,7 @@ export default async function wrapGroupedDocuments({albumMustBeRenderedFull, mes
|
|||
const messageDiv = document.createElement('div');
|
||||
messageDiv.classList.add('document-message');
|
||||
|
||||
const richText = wrapRichText(message.message, {
|
||||
entities: message.totalEntities
|
||||
});
|
||||
|
||||
setInnerHTML(messageDiv, richText);
|
||||
setInnerHTML(messageDiv, richTextFragment);
|
||||
wrapper.append(messageDiv);
|
||||
}
|
||||
|
||||
|
|
|
@ -1557,7 +1557,7 @@ $bubble-beside-button-width: 38px;
|
|||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
z-index: -1;
|
||||
z-index: -2;
|
||||
width: 200vw;
|
||||
left: -75vw;
|
||||
}
|
||||
|
@ -1572,8 +1572,9 @@ $bubble-beside-button-width: 38px;
|
|||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
background-color: rgba(0, 0, 0, .06);
|
||||
background-color: var(--message-background-color);
|
||||
border-radius: inherit;
|
||||
z-index: -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1584,8 +1585,8 @@ $bubble-beside-button-width: 38px;
|
|||
}
|
||||
|
||||
body:not(.animation-level-0) & {
|
||||
.document-selection,
|
||||
.document-wrapper:before {
|
||||
.document-selection/* ,
|
||||
.document-wrapper:before */ {
|
||||
animation: bubbleSelected 2s linear;
|
||||
}
|
||||
}
|
||||
|
@ -1597,14 +1598,14 @@ $bubble-beside-button-width: 38px;
|
|||
}
|
||||
|
||||
body:not(.animation-level-0) & {
|
||||
.document-selection,
|
||||
.document-wrapper:before {
|
||||
.document-selection/* ,
|
||||
.document-wrapper:before */ {
|
||||
animation: fade-in-opacity .2s linear forwards;
|
||||
}
|
||||
|
||||
&.backwards {
|
||||
.document-selection,
|
||||
.document-wrapper:before {
|
||||
.document-selection/* ,
|
||||
.document-wrapper:before */ {
|
||||
animation: fade-in-backwards-opacity .2s linear forwards;
|
||||
}
|
||||
}
|
||||
|
@ -1690,9 +1691,19 @@ $bubble-beside-button-width: 38px;
|
|||
}
|
||||
|
||||
.document-wrapper {
|
||||
background-color: var(--message-background-color);
|
||||
padding: .25rem .5rem;
|
||||
|
||||
// &:before {
|
||||
// position: absolute;
|
||||
// top: 0;
|
||||
// right: 0;
|
||||
// bottom: 0;
|
||||
// left: 0;
|
||||
// border-radius: inherit;
|
||||
// background-color: var(--message-background-color);
|
||||
// content: " ";
|
||||
// }
|
||||
|
||||
> .name {
|
||||
// padding: .0625rem 0 .375rem;
|
||||
padding: 0 0 .25rem 0;
|
||||
|
@ -2227,10 +2238,14 @@ $bubble-beside-button-width: 38px;
|
|||
.bubbles-date-group:last-of-type {
|
||||
.bubbles-group:last-of-type {
|
||||
.bubble:last-of-type {
|
||||
margin-bottom: $bubble-overflow-big;
|
||||
margin-bottom: $bubble-overflow;
|
||||
/* &:after, .document-container:last-of-type .document-selection {
|
||||
bottom: 0 !important;
|
||||
} */
|
||||
|
||||
&:after {
|
||||
bottom: -#{$bubble-overflow};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2838,10 +2853,6 @@ $bubble-beside-button-width: 38px;
|
|||
left: -50vw;
|
||||
} */
|
||||
}
|
||||
|
||||
.document-wrapper {
|
||||
background-color: var(--message-background-color);
|
||||
}
|
||||
}
|
||||
|
||||
.bubble-hover-reaction {
|
||||
|
|
|
@ -137,6 +137,7 @@
|
|||
|
||||
.document-download {
|
||||
background-color: rgba(0, 0, 0, .2);
|
||||
border-radius: $border-radius;
|
||||
}
|
||||
|
||||
.preloader-circular {
|
||||
|
|
Loading…
Reference in New Issue