diff --git a/src/components/chat/bubbles.ts b/src/components/chat/bubbles.ts index 11bd4990..d600f6d5 100644 --- a/src/components/chat/bubbles.ts +++ b/src/components/chat/bubbles.ts @@ -216,13 +216,15 @@ export default class ChatBubbles { if(message.media?.document) { const element = bubble.querySelector(`audio-element[message-id="${tempId}"], .document[data-doc-id="${tempId}"]`) as HTMLElement; - if(element instanceof AudioElement) { - element.setAttribute('doc-id', message.media.document.id); - element.setAttribute('message-id', '' + mid); - element.message = message; - element.onLoad(true); - } else { - element.dataset.docId = message.media.document.id; + if(element) { + if(element instanceof AudioElement) { + element.setAttribute('doc-id', message.media.document.id); + element.setAttribute('message-id', '' + mid); + element.message = message; + element.onLoad(true); + } else { + element.dataset.docId = message.media.document.id; + } } } diff --git a/src/components/popups/datePicker.ts b/src/components/popups/datePicker.ts index 1849c321..33c523ff 100644 --- a/src/components/popups/datePicker.ts +++ b/src/components/popups/datePicker.ts @@ -333,9 +333,8 @@ export default class PopupDatePicker extends PopupElement { } } - const lines = this.month.childElementCount / 7; + const lines = Math.ceil(this.month.childElementCount / 7); this.container.dataset.lines = '' + lines; - this.container.classList.toggle('is-max-lines', lines > 6); this.monthsContainer.append(this.month); } diff --git a/src/lib/appManagers/appImManager.ts b/src/lib/appManagers/appImManager.ts index 22ae9510..b4d71279 100644 --- a/src/lib/appManagers/appImManager.ts +++ b/src/lib/appManagers/appImManager.ts @@ -258,7 +258,7 @@ export class AppImManager { this.chatsSelectTabDebounced(); if(rootScope.settings.animationsEnabled) { // ! нужно переделать на animation, так как при лаге анимация будет длиться не 250мс - dispatchHeavyAnimationEvent(pause(250), 250); + dispatchHeavyAnimationEvent(pause(250 + 150), 250 + 150); } } @@ -517,7 +517,7 @@ export class AppImManager { this.log('selectTab', id, prevTabId); if(prevTabId !== -1 && prevTabId !== id && rootScope.settings.animationsEnabled) { - const transitionTime = mediaSizes.isMobile ? 250 : 200; + const transitionTime = (mediaSizes.isMobile ? 250 : 200) + 100; // * cause transition time could be > 250ms dispatchHeavyAnimationEvent(pause(transitionTime), transitionTime); } @@ -589,7 +589,7 @@ export class AppImManager { spliced.forEach(chat => { chat.destroy(); }); - }, 250); + }, 250 + 100); } public setPeer(peerId: number, lastMsgId?: number): boolean { diff --git a/src/scss/partials/popups/_datePicker.scss b/src/scss/partials/popups/_datePicker.scss index 185281e8..dc09038c 100644 --- a/src/scss/partials/popups/_datePicker.scss +++ b/src/scss/partials/popups/_datePicker.scss @@ -11,10 +11,14 @@ padding: 12px 14px; @media (min-height: 470px) { - &.is-max-lines { + &[data-lines="7"] { top: 19px; //left: 8px; } + + &[data-lines="5"] { + top: -19px; + } } }