From 6e8316d8c347f3e3f4b0bc6a3332a7e07b6e36df Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Fri, 29 Jul 2022 05:12:17 +0200 Subject: [PATCH] Chat avatars: handle premium update --- src/components/chat/bubbles.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/components/chat/bubbles.ts b/src/components/chat/bubbles.ts index ecc3749c..053c89f4 100644 --- a/src/components/chat/bubbles.ts +++ b/src/components/chat/bubbles.ts @@ -576,6 +576,21 @@ export default class ChatBubbles { this.safeRenderMessage(message, true, bubble); }); + this.listenerSetter.add(rootScope)('peer_title_edit', async(peerId) => { + if(peerId.isUser()) { + const middleware = this.getMiddleware(); + const user = await this.managers.appUsersManager.getUser(peerId.toUserId()); + if(!middleware()) return; + + const isPremium = user?.pFlags?.premium; + const groups = this.bubbleGroups.groups.filter((group) => group.avatar?.peerId === peerId); + groups.forEach((group) => { + group.avatar.classList.toggle('is-premium', isPremium); + group.avatar.classList.toggle('tgico-star', isPremium); + }); + } + }); + if(this.chat.type !== 'scheduled' && !DO_NOT_UPDATE_MESSAGE_REACTIONS/* && false */) { this.listenerSetter.add(rootScope)('messages_reactions', async(arr) => { let scrollSaver: ScrollSaver;