diff --git a/src/components/emoticonsDropdown/index.ts b/src/components/emoticonsDropdown/index.ts index 40457dfa..2ba14c8a 100644 --- a/src/components/emoticonsDropdown/index.ts +++ b/src/components/emoticonsDropdown/index.ts @@ -156,7 +156,9 @@ export class EmoticonsDropdown { }); (this.tabsEl.children[1] as HTMLLIElement).click(); // set emoji tab - this.tabs[0].init(); // onTransitionEnd не вызовется, т.к. это первая открытая вкладка + if(this.tabs[0].init) { + this.tabs[0].init(); // onTransitionEnd не вызовется, т.к. это первая открытая вкладка + } rootScope.on('peer_changed', this.checkRights); this.checkRights(); diff --git a/src/components/transition.ts b/src/components/transition.ts index 399d238a..e26ec4a8 100644 --- a/src/components/transition.ts +++ b/src/components/transition.ts @@ -161,7 +161,7 @@ const Transition = (content: HTMLElement, animationFunction: TransitionFunction, } if(_from/* && false */) { - onTransitionEndCallbacks.set(_from, () => { + const callback = () => { _from.classList.remove('active', 'from'); if(onTransitionEndCallback) { @@ -169,7 +169,16 @@ const Transition = (content: HTMLElement, animationFunction: TransitionFunction, } onTransitionEndCallbacks.delete(_from); - }); + }; + + if(to) { + onTransitionEndCallbacks.set(_from, callback); + } else { + const timeout = window.setTimeout(callback, transitionTime); + onTransitionEndCallbacks.set(_from, () => { + clearTimeout(timeout); + }); + } if(!animationDeferred) { animationDeferred = deferredPromise(); diff --git a/src/lib/appManagers/appStickersManager.ts b/src/lib/appManagers/appStickersManager.ts index 197a0320..4a1d69ca 100644 --- a/src/lib/appManagers/appStickersManager.ts +++ b/src/lib/appManagers/appStickersManager.ts @@ -61,14 +61,19 @@ export class AppStickersManager { } } - const stickerSet = await apiManager.invokeApi('messages.getStickerSet', { - stickerset: this.getStickerSetInput(set) - }); - + try { + const stickerSet = await apiManager.invokeApi('messages.getStickerSet', { + stickerset: this.getStickerSetInput(set) + }); + + this.saveStickerSet(stickerSet, set.id); + + resolve(stickerSet); + } catch(err) { + resolve(null); + } + delete this.getStickerSetPromises[set.id]; - this.saveStickerSet(stickerSet, set.id); - - resolve(stickerSet); }); } diff --git a/src/scss/partials/_preloader.scss b/src/scss/partials/_preloader.scss index 1e14d9b3..982ca051 100644 --- a/src/scss/partials/_preloader.scss +++ b/src/scss/partials/_preloader.scss @@ -2,7 +2,8 @@ $transition: .2s ease-in-out; .preloader { &-circular { - animation: rotate 2s linear infinite; + //animation: rotate 2s linear infinite; + animation: rotate 1s linear infinite; height: 100%; transform-origin: center center; /* width: 100%; */ @@ -80,6 +81,10 @@ $transition: .2s ease-in-out; &.preloader-swing { cursor: default; + .you-spin-me-round { + animation: rotate 1s linear infinite; + } + .preloader-path-new { //animation: dashNew 1.5s ease-in-out infinite; stroke-dasharray: 112.36, 149.82;