diff --git a/Telegram/Resources/langs/lang.strings b/Telegram/Resources/langs/lang.strings index f40b6e1da2..7a3eb4321a 100644 --- a/Telegram/Resources/langs/lang.strings +++ b/Telegram/Resources/langs/lang.strings @@ -1672,6 +1672,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL "lng_premium_summary_title" = "Telegram Premium"; "lng_premium_summary_top_about" = "Go **beyond the limits**, get **exclusive features** and support us by subscribing to **Telegram Premium**."; +"lng_premium_summary_title_subscribed" = "You are all set!"; +"lng_premium_summary_top_about_subscribed" = "Thank you for subscribing to **Telegram Premium**.\nHere's what is now unlocked."; "lng_premium_summary_subtitle_double_limits" = "Doubled Limits"; "lng_premium_summary_about_double_limits" = "Up to 1000 channels, 20 folders, 10 pins, 20 public links, 4 accounts and more."; "lng_premium_summary_subtitle_more_upload" = "4Gb Upload Size"; diff --git a/Telegram/SourceFiles/settings/settings_premium.cpp b/Telegram/SourceFiles/settings/settings_premium.cpp index 1f33a5c96d..3236bf4465 100644 --- a/Telegram/SourceFiles/settings/settings_premium.cpp +++ b/Telegram/SourceFiles/settings/settings_premium.cpp @@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL #include "base/random.h" #include "core/application.h" +#include "data/data_peer_values.h" #include "info/info_wrap_widget.h" // Info::Wrap. #include "info/settings/info_settings_widget.h" // SectionCustomTopBarData. #include "lang/lang_keys.h" @@ -392,7 +393,7 @@ void MiniStars::createStar(crl::time now) { class TopBar final : public Ui::RpWidget { public: - TopBar(not_null parent); + TopBar(not_null parent, rpl::producer premiumValue); void setRoundEdges(bool value); void setTextPosition(int x, int y); @@ -429,21 +430,32 @@ private: }; -TopBar::TopBar(not_null parent) +TopBar::TopBar(not_null parent, rpl::producer premiumValue) : Ui::RpWidget(parent) , _titleFont(st::boxTitle.style.font) , _titlePadding(st::settingsPremiumTitlePadding) , _aboutSt(st::settingsPremiumAboutTextStyle) , _ministars([=](const QRect &r) { update(r); }) , _star(u":/gui/icons/settings/star.svg"_q) { - _titlePath.addText( - 0, - _titleFont->ascent, - _titleFont, - tr::lng_premium_summary_title(tr::now)); - _about.setMarkedText( - _aboutSt, - tr::lng_premium_summary_top_about(tr::now, Ui::Text::RichLangValue)); + std::move( + premiumValue + ) | rpl::start_with_next([=](bool premium) { + _titlePath = QPainterPath(); + _titlePath.addText( + 0, + _titleFont->ascent, + _titleFont, + (premium + ? tr::lng_premium_summary_title_subscribed + : tr::lng_premium_summary_title)(tr::now)); + const auto &about = premium + ? tr::lng_premium_summary_top_about_subscribed + : tr::lng_premium_summary_top_about; + _about.setMarkedText( + _aboutSt, + about(tr::now, Ui::Text::RichLangValue)); + update(); + }, lifetime()); } void TopBar::setRoundEdges(bool value) { @@ -761,7 +773,9 @@ void Premium::setupContent() { QPointer Premium::createPinnedToTop( not_null parent) { - const auto content = Ui::CreateChild(parent.get()); + const auto content = Ui::CreateChild( + parent.get(), + Data::AmPremiumValue(&_controller->session())); _wrap.value( ) | rpl::start_with_next([=](Info::Wrap wrap) {