Added phrases for subscribed users to premium settings.

This commit is contained in:
23rd 2022-05-31 02:37:15 +03:00 committed by John Preston
parent 569cea98b4
commit 735f1d5b03
2 changed files with 27 additions and 11 deletions

View file

@ -1672,6 +1672,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
"lng_premium_summary_title" = "Telegram Premium"; "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_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_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_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"; "lng_premium_summary_subtitle_more_upload" = "4Gb Upload Size";

View file

@ -9,6 +9,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "base/random.h" #include "base/random.h"
#include "core/application.h" #include "core/application.h"
#include "data/data_peer_values.h"
#include "info/info_wrap_widget.h" // Info::Wrap. #include "info/info_wrap_widget.h" // Info::Wrap.
#include "info/settings/info_settings_widget.h" // SectionCustomTopBarData. #include "info/settings/info_settings_widget.h" // SectionCustomTopBarData.
#include "lang/lang_keys.h" #include "lang/lang_keys.h"
@ -392,7 +393,7 @@ void MiniStars::createStar(crl::time now) {
class TopBar final : public Ui::RpWidget { class TopBar final : public Ui::RpWidget {
public: public:
TopBar(not_null<QWidget*> parent); TopBar(not_null<QWidget*> parent, rpl::producer<bool> premiumValue);
void setRoundEdges(bool value); void setRoundEdges(bool value);
void setTextPosition(int x, int y); void setTextPosition(int x, int y);
@ -429,21 +430,32 @@ private:
}; };
TopBar::TopBar(not_null<QWidget*> parent) TopBar::TopBar(not_null<QWidget*> parent, rpl::producer<bool> premiumValue)
: Ui::RpWidget(parent) : Ui::RpWidget(parent)
, _titleFont(st::boxTitle.style.font) , _titleFont(st::boxTitle.style.font)
, _titlePadding(st::settingsPremiumTitlePadding) , _titlePadding(st::settingsPremiumTitlePadding)
, _aboutSt(st::settingsPremiumAboutTextStyle) , _aboutSt(st::settingsPremiumAboutTextStyle)
, _ministars([=](const QRect &r) { update(r); }) , _ministars([=](const QRect &r) { update(r); })
, _star(u":/gui/icons/settings/star.svg"_q) { , _star(u":/gui/icons/settings/star.svg"_q) {
_titlePath.addText( std::move(
0, premiumValue
_titleFont->ascent, ) | rpl::start_with_next([=](bool premium) {
_titleFont, _titlePath = QPainterPath();
tr::lng_premium_summary_title(tr::now)); _titlePath.addText(
_about.setMarkedText( 0,
_aboutSt, _titleFont->ascent,
tr::lng_premium_summary_top_about(tr::now, Ui::Text::RichLangValue)); _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) { void TopBar::setRoundEdges(bool value) {
@ -761,7 +773,9 @@ void Premium::setupContent() {
QPointer<Ui::RpWidget> Premium::createPinnedToTop( QPointer<Ui::RpWidget> Premium::createPinnedToTop(
not_null<QWidget*> parent) { not_null<QWidget*> parent) {
const auto content = Ui::CreateChild<TopBar>(parent.get()); const auto content = Ui::CreateChild<TopBar>(
parent.get(),
Data::AmPremiumValue(&_controller->session()));
_wrap.value( _wrap.value(
) | rpl::start_with_next([=](Info::Wrap wrap) { ) | rpl::start_with_next([=](Info::Wrap wrap) {