/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once #include "data/data_message_reaction_id.h" class PeerData; namespace Data { class SavedSublist; } // namespace Data namespace Ui { class GenericBox; } // namespace Ui extern const char kModerateCommonGroups[]; struct ModerateMessagesBoxOptions final { bool reportSpam = false; bool deleteAll = false; bool banUser = false; }; struct ModerateReactionEntry { not_null peer; MsgId msgId; not_null participant; Data::ReactionId reaction; }; struct ModerateMessagesBoxEntry { HistoryItemsList items; std::optional reaction; }; [[nodiscard]] ModerateMessagesBoxOptions DefaultModerateMessagesBoxOptions(); void CreateModerateMessagesBox( not_null box, ModerateMessagesBoxEntry entry, Fn confirmed, ModerateMessagesBoxOptions options); [[nodiscard]] bool CanCreateModerateMessagesBox(const HistoryItemsList &); void DeleteChatBox(not_null box, not_null peer); void DeleteSublistBox( not_null box, not_null sublist);