From cc3baad3775400640a0b46d9d44d742fcd338c60 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Fri, 9 Aug 2024 19:32:22 +0300 Subject: [PATCH] Added subscription date to credits history entries. --- Telegram/Resources/langs/lang.strings | 1 + Telegram/SourceFiles/api/api_credits.cpp | 4 ++++ Telegram/SourceFiles/data/data_credits.h | 1 + .../info/statistics/info_statistics_list_controllers.cpp | 3 +++ Telegram/SourceFiles/settings/settings_credits_graphics.cpp | 5 +++-- 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index 734b15c97..40f11aac0 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -2414,6 +2414,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_credits_box_history_entry_about" = "You can dispute this transaction {link}."; "lng_credits_box_history_entry_about_link" = "here"; "lng_credits_box_history_entry_reaction_name" = "Star Reaction"; +"lng_credits_box_history_entry_subscription" = "Monthly subscription fee"; "lng_credits_small_balance_title#one" = "{count} Star Needed"; "lng_credits_small_balance_title#other" = "{count} Stars Needed"; "lng_credits_small_balance_about" = "Buy **Stars** and use them on **{bot}** and other miniapps."; diff --git a/Telegram/SourceFiles/api/api_credits.cpp b/Telegram/SourceFiles/api/api_credits.cpp index 5cb869fba..64b219304 100644 --- a/Telegram/SourceFiles/api/api_credits.cpp +++ b/Telegram/SourceFiles/api/api_credits.cpp @@ -94,6 +94,10 @@ constexpr auto kTransactionsLimit = 100; }, [](const MTPDstarsTransactionPeerAds &) { return Data::CreditsHistoryEntry::PeerType::Ads; }), + .subscriptionUntil = tl.data().vsubscription_period() + ? base::unixtime::parse(base::unixtime::now() + + tl.data().vsubscription_period()->v) + : QDateTime(), .successDate = tl.data().vtransaction_date() ? base::unixtime::parse(tl.data().vtransaction_date()->v) : QDateTime(), diff --git a/Telegram/SourceFiles/data/data_credits.h b/Telegram/SourceFiles/data/data_credits.h index bff8c93b5..1aa49105d 100644 --- a/Telegram/SourceFiles/data/data_credits.h +++ b/Telegram/SourceFiles/data/data_credits.h @@ -52,6 +52,7 @@ struct CreditsHistoryEntry final { uint64 bareMsgId = 0; uint64 barePeerId = 0; PeerType peerType; + QDateTime subscriptionUntil; QDateTime successDate; QString successLink; bool reaction = false; diff --git a/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp b/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp index 4db813865..825dd620f 100644 --- a/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp +++ b/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp @@ -805,6 +805,9 @@ void CreditsRow::init() { ? (joiner + tr::lng_channel_earn_history_pending(tr::now)) : _entry.failed ? (joiner + tr::lng_channel_earn_history_failed(tr::now)) + : !_entry.subscriptionUntil.isNull() + ? (joiner + + tr::lng_credits_box_history_entry_subscription(tr::now)) : QString()) + ((_entry.gift && PeerListRow::special()) ? (joiner + tr::lng_credits_box_history_entry_anonymous(tr::now)) diff --git a/Telegram/SourceFiles/settings/settings_credits_graphics.cpp b/Telegram/SourceFiles/settings/settings_credits_graphics.cpp index d76ee64db..b28e3a65e 100644 --- a/Telegram/SourceFiles/settings/settings_credits_graphics.cpp +++ b/Telegram/SourceFiles/settings/settings_credits_graphics.cpp @@ -549,8 +549,9 @@ void ReceiptCreditsBox( box, object_ptr( box, - rpl::single( - !e.title.isEmpty() + rpl::single(!e.subscriptionUntil.isNull() + ? tr::lng_credits_box_history_entry_subscription(tr::now) + : !e.title.isEmpty() ? e.title : e.gift ? tr::lng_credits_box_history_entry_gift_name(tr::now)