From b3c8a79946a30921c3855f3fc80e9030fc301be0 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 29 Nov 2024 11:44:26 +0400 Subject: [PATCH] Use langpack-ed about for Verification Codes. --- Telegram/Resources/langs/lang.strings | 1 + .../history/view/history_view_about_view.cpp | 35 +++++++++++++++---- .../history/view/history_view_about_view.h | 5 +++ 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 54ecda43a..7190ff902 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -3376,6 +3376,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_replies_no_comments" = "No comments here yet..."; "lng_verification_codes" = "Verification Codes"; +"lng_verification_codes_about" = "Third-party services, like websites and stores, can send verification codes to your phone number via Telegram instead of SMS. Such codes will appear in this chat.\n\nIf you didn't request any codes — don't worry! Most likely, someone made a mistake when entering their number."; "lng_archived_name" = "Archived chats"; "lng_archived_add" = "Archive"; diff --git a/Telegram/SourceFiles/history/view/history_view_about_view.cpp b/Telegram/SourceFiles/history/view/history_view_about_view.cpp index 12a98949a..0c87a6489 100644 --- a/Telegram/SourceFiles/history/view/history_view_about_view.cpp +++ b/Telegram/SourceFiles/history/view/history_view_about_view.cpp @@ -241,6 +241,13 @@ HistoryItem *AboutView::item() const { } bool AboutView::refresh() { + if (_history->peer->isVerifyCodes()) { + if (_item) { + return false; + } + setItem(makeAboutVerifyCodes(), nullptr); + return true; + } const auto user = _history->peer->asUser(); const auto info = user ? user->botInfo.get() : nullptr; if (!info) { @@ -359,10 +366,24 @@ void AboutView::setItem(AdminLog::OwnedItem item, DocumentData *sticker) { toggleStickerRegistered(true); } +AdminLog::OwnedItem AboutView::makeAboutVerifyCodes() { + return makeAboutSimple( + tr::lng_verification_codes_about(tr::now, Ui::Text::RichLangValue)); +} + AdminLog::OwnedItem AboutView::makeAboutBot(not_null info) { - const auto textWithEntities = TextUtilities::ParseEntities( - info->description, - Ui::ItemTextBotNoMonoOptions().flags); + return makeAboutSimple( + TextUtilities::ParseEntities( + info->description, + Ui::ItemTextBotNoMonoOptions().flags), + info->document, + info->photo); +} + +AdminLog::OwnedItem AboutView::makeAboutSimple( + TextWithEntities textWithEntities, + DocumentData *document, + PhotoData *photo) { const auto make = [&](auto &&...args) { return _history->makeMessage({ .id = _history->nextNonHistoryEntryId(), @@ -372,10 +393,10 @@ AdminLog::OwnedItem AboutView::makeAboutBot(not_null info) { .from = _history->peer->id, }, std::forward(args)...); }; - const auto item = info->document - ? make(info->document, textWithEntities) - : info->photo - ? make(info->photo, textWithEntities) + const auto item = document + ? make(document, textWithEntities) + : photo + ? make(photo, textWithEntities) : make(textWithEntities, MTP_messageMediaEmpty()); return AdminLog::OwnedItem(_delegate, item); } diff --git a/Telegram/SourceFiles/history/view/history_view_about_view.h b/Telegram/SourceFiles/history/view/history_view_about_view.h index 0f4d90491..3e78c5c62 100644 --- a/Telegram/SourceFiles/history/view/history_view_about_view.h +++ b/Telegram/SourceFiles/history/view/history_view_about_view.h @@ -34,7 +34,12 @@ public: int height = 0; private: + [[nodiscard]] AdminLog::OwnedItem makeAboutVerifyCodes(); [[nodiscard]] AdminLog::OwnedItem makeAboutBot(not_null info); + [[nodiscard]] AdminLog::OwnedItem makeAboutSimple( + TextWithEntities textWithEntities, + DocumentData *document = nullptr, + PhotoData *photo = nullptr); [[nodiscard]] AdminLog::OwnedItem makePremiumRequired(); [[nodiscard]] AdminLog::OwnedItem makeBlocked(); void makeIntro(not_null user);