/* * https://github.com/morethanwords/tweb * Copyright (C) 2019-2021 Eduard Kuzmenko * https://github.com/morethanwords/tweb/blob/master/LICENSE */ import setInnerHTML from '../../helpers/dom/setInnerHTML'; import {GroupCall} from '../../layer'; import GroupCallInstance from '../../lib/calls/groupCallInstance'; import wrapEmojiText from '../../lib/richTextProcessor/wrapEmojiText'; import PeerTitle from '../peerTitle'; export default class GroupCallTitleElement { private peerTitle: PeerTitle; constructor(private appendTo: HTMLElement) { this.peerTitle = new PeerTitle({peerId: 0}); } public update(instance: GroupCallInstance) { const {peerTitle, appendTo} = this; const groupCall = instance.groupCall as GroupCall.groupCall; const peerId = instance.chatId.toPeerId(true); if(groupCall.title) { setInnerHTML(appendTo, wrapEmojiText(groupCall.title)); } else { if(peerTitle.peerId !== peerId) { peerTitle.peerId = peerId; peerTitle.update(); } if(peerTitle.element.parentElement !== appendTo) { appendTo.append(peerTitle.element); } } } }