Browse Source

Fix clearing message input after sending comment

master
Eduard Kuzmenko 3 years ago
parent
commit
f6c9a2d327
  1. 4
      src/components/chat/input.ts
  2. 12
      src/lib/appManagers/appDraftsManager.ts

4
src/components/chat/input.ts

@ -1016,6 +1016,10 @@ export default class ChatInput { @@ -1016,6 +1016,10 @@ export default class ChatInput {
};
public setUnreadCount() {
if(!this.goDownUnreadBadge) {
return;
}
const dialog = this.appMessagesManager.getDialogOnly(this.chat.peerId);
const count = dialog?.unread_count;
this.goDownUnreadBadge.innerText = '' + (count || '');

12
src/lib/appManagers/appDraftsManager.ts

@ -23,6 +23,7 @@ import { isObject } from "../mtproto/bin_utils"; @@ -23,6 +23,7 @@ import { isObject } from "../mtproto/bin_utils";
import { MOUNT_CLASS_TO } from "../../config/debug";
import stateStorage from "../stateStorage";
import appMessagesIdsManager from "./appMessagesIdsManager";
import assumeType from "../../helpers/assumeType";
export type MyDraftMessage = DraftMessage.draftMessage;
@ -182,7 +183,7 @@ export class AppDraftsManager { @@ -182,7 +183,7 @@ export class AppDraftsManager {
return draft;
}
public async syncDraft(peerId: PeerId, threadId: number, localDraft?: MyDraftMessage, saveOnServer = true, force = false) {
public async syncDraft(peerId: PeerId, threadId: number, localDraft?: DraftMessage, saveOnServer = true, force = false) {
// console.warn(dT(), 'sync draft', peerID)
const serverDraft = this.getDraft(peerId, threadId);
if(this.draftsAreEqual(serverDraft, localDraft)) {
@ -200,6 +201,7 @@ export class AppDraftsManager { @@ -200,6 +201,7 @@ export class AppDraftsManager {
if(this.isEmptyDraft(localDraft)) {
draftObj = {_: 'draftMessageEmpty'};
} else {
assumeType<DraftMessage.draftMessage>(localDraft);
let message = localDraft.message;
let entities: MessageEntity[] = localDraft.entities;
@ -248,10 +250,14 @@ export class AppDraftsManager { @@ -248,10 +250,14 @@ export class AppDraftsManager {
}
public clearDraft(peerId: PeerId, threadId: number) {
const emptyDraft: DraftMessage.draftMessageEmpty = {
_: 'draftMessageEmpty'
};
if(threadId) {
this.syncDraft(peerId, threadId);
this.syncDraft(peerId, threadId, emptyDraft as any, false, true);
} else {
this.saveDraft(peerId, threadId, null, {notify: true, force: true});
this.saveDraft(peerId, threadId, emptyDraft, {notify: true, force: true});
}
}

Loading…
Cancel
Save