|
|
/* |
|
|
* https://github.com/morethanwords/tweb |
|
|
* Copyright (C) 2019-2021 Eduard Kuzmenko |
|
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE |
|
|
*/ |
|
|
|
|
|
import { ReportReason } from "../../layer"; |
|
|
import appMessagesManager from "../../lib/appManagers/appMessagesManager"; |
|
|
import appStickersManager from "../../lib/appManagers/appStickersManager"; |
|
|
import InputField from "../inputField"; |
|
|
import { toastNew } from "../toast"; |
|
|
import { wrapSticker } from "../wrappers"; |
|
|
import PopupPeer from "./peer"; |
|
|
|
|
|
export default class PopupReportMessagesConfirm extends PopupPeer { |
|
|
public static STICKER_EMOJI = '👮♀️'; |
|
|
constructor(peerId: number, mids: number[], reason: ReportReason['_'], onConfirm?: () => void) { |
|
|
super('popup-report-messages-confirm', { |
|
|
noTitle: true, |
|
|
descriptionLangKey: 'ReportInfo', |
|
|
buttons: [{ |
|
|
langKey: 'ReportChat', |
|
|
callback: () => { |
|
|
if(!inputField.isValid()) { |
|
|
return; |
|
|
} |
|
|
|
|
|
onConfirm && onConfirm(); |
|
|
appMessagesManager.reportMessages(peerId, mids, reason, inputField.value).then(bool => { |
|
|
if(!bool) return; |
|
|
|
|
|
toastNew({ |
|
|
langPackKey: 'ReportSentInfo' |
|
|
}); |
|
|
}); |
|
|
} |
|
|
}], |
|
|
body: true |
|
|
}); |
|
|
|
|
|
const div = document.createElement('div'); |
|
|
const doc = appStickersManager.getAnimatedEmojiSticker(PopupReportMessagesConfirm.STICKER_EMOJI); |
|
|
const size = 100; |
|
|
wrapSticker({ |
|
|
doc, |
|
|
div, |
|
|
emoji: PopupReportMessagesConfirm.STICKER_EMOJI, |
|
|
width: size, |
|
|
height: size, |
|
|
loop: false, |
|
|
play: true |
|
|
}).finally(() => { |
|
|
this.show(); |
|
|
}); |
|
|
|
|
|
this.header.append(div); |
|
|
|
|
|
const inputField = new InputField({ |
|
|
label: 'ReportHint', |
|
|
maxLength: 512, |
|
|
placeholder: 'ReportChatDescription' |
|
|
}); |
|
|
|
|
|
this.body.append(inputField.container); |
|
|
} |
|
|
}
|
|
|
|