mirror of
https://github.com/telegramdesktop/tdesktop
synced 2025-02-20 15:17:41 +00:00
Don't shows premium section / preview if unavailable.
This commit is contained in:
parent
86889cf1ef
commit
524771529a
@ -1705,6 +1705,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||||||
"lng_premium_summary_agree" = "By purchasing a Premium subscription, you agree to {terms} and {policy}.";
|
"lng_premium_summary_agree" = "By purchasing a Premium subscription, you agree to {terms} and {policy}.";
|
||||||
|
|
||||||
"lng_premium_success" = "You've successfully subscribed to Telegram Premium!";
|
"lng_premium_success" = "You've successfully subscribed to Telegram Premium!";
|
||||||
|
"lng_premium_unavailable" = "This feature requires subscription to **Telegram Premium**.\n\nUnfortunately, **Telegram Premium** is not available in your region.";
|
||||||
|
|
||||||
"lng_accounts_limit_title" = "Limit Reached";
|
"lng_accounts_limit_title" = "Limit Reached";
|
||||||
"lng_accounts_limit1#one" = "You have reached the limit of **{count}** connected accounts.";
|
"lng_accounts_limit1#one" = "You have reached the limit of **{count}** connected accounts.";
|
||||||
|
@ -22,9 +22,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||||||
#include "ui/effects/path_shift_gradient.h"
|
#include "ui/effects/path_shift_gradient.h"
|
||||||
#include "ui/effects/premium_graphics.h"
|
#include "ui/effects/premium_graphics.h"
|
||||||
#include "ui/text/text.h"
|
#include "ui/text/text.h"
|
||||||
|
#include "ui/text/text_utilities.h"
|
||||||
#include "ui/widgets/buttons.h"
|
#include "ui/widgets/buttons.h"
|
||||||
#include "ui/widgets/gradient_round_button.h"
|
#include "ui/widgets/gradient_round_button.h"
|
||||||
#include "ui/wrap/padding_wrap.h"
|
#include "ui/wrap/padding_wrap.h"
|
||||||
|
#include "ui/boxes/confirm_box.h"
|
||||||
#include "settings/settings_premium.h"
|
#include "settings/settings_premium.h"
|
||||||
#include "lottie/lottie_single_player.h"
|
#include "lottie/lottie_single_player.h"
|
||||||
#include "history/view/media/history_view_sticker.h"
|
#include "history/view/media/history_view_sticker.h"
|
||||||
@ -743,6 +745,10 @@ void Show(not_null<Window::SessionController*> controller, QImage back) {
|
|||||||
void Show(
|
void Show(
|
||||||
not_null<Window::SessionController*> controller,
|
not_null<Window::SessionController*> controller,
|
||||||
Descriptor &&descriptor) {
|
Descriptor &&descriptor) {
|
||||||
|
if (!controller->session().premiumPossible()) {
|
||||||
|
controller->show(Box(PremiumUnavailableBox));
|
||||||
|
return;
|
||||||
|
}
|
||||||
auto &list = Preloads();
|
auto &list = Preloads();
|
||||||
for (auto i = begin(list); i != end(list);) {
|
for (auto i = begin(list); i != end(list);) {
|
||||||
const auto already = i->controller.get();
|
const auto already = i->controller.get();
|
||||||
@ -830,3 +836,12 @@ void ShowPremiumPreviewBox(
|
|||||||
.disabled = disabled,
|
.disabled = disabled,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PremiumUnavailableBox(not_null<Ui::GenericBox*> box) {
|
||||||
|
Ui::ConfirmBox(box, {
|
||||||
|
.text = tr::lng_premium_unavailable(
|
||||||
|
tr::now,
|
||||||
|
Ui::Text::RichLangValue),
|
||||||
|
.inform = true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
@ -9,6 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||||||
|
|
||||||
class DocumentData;
|
class DocumentData;
|
||||||
|
|
||||||
|
namespace Ui {
|
||||||
|
class GenericBox;
|
||||||
|
} // namespace Ui
|
||||||
|
|
||||||
namespace Window {
|
namespace Window {
|
||||||
class SessionController;
|
class SessionController;
|
||||||
} // namespace Window
|
} // namespace Window
|
||||||
@ -32,3 +36,5 @@ void ShowPremiumPreviewBox(
|
|||||||
not_null<Window::SessionController*> controller,
|
not_null<Window::SessionController*> controller,
|
||||||
PremiumPreview section,
|
PremiumPreview section,
|
||||||
const base::flat_map<QString, ReactionDisableType> &disabled = {});
|
const base::flat_map<QString, ReactionDisableType> &disabled = {});
|
||||||
|
|
||||||
|
void PremiumUnavailableBox(not_null<Ui::GenericBox*> box);
|
||||||
|
@ -14,6 +14,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||||||
#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"
|
||||||
#include "main/main_session.h"
|
#include "main/main_session.h"
|
||||||
|
#include "boxes/premium_preview_box.h"
|
||||||
#include "settings/settings_common.h"
|
#include "settings/settings_common.h"
|
||||||
#include "settings/settings_premium.h"
|
#include "settings/settings_premium.h"
|
||||||
#include "ui/abstract_button.h"
|
#include "ui/abstract_button.h"
|
||||||
@ -23,6 +24,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||||||
#include "ui/effects/premium_graphics.h"
|
#include "ui/effects/premium_graphics.h"
|
||||||
#include "ui/text/text_utilities.h"
|
#include "ui/text/text_utilities.h"
|
||||||
#include "ui/text/format_values.h"
|
#include "ui/text/format_values.h"
|
||||||
|
#include "ui/layers/generic_box.h"
|
||||||
#include "ui/widgets/gradient_round_button.h"
|
#include "ui/widgets/gradient_round_button.h"
|
||||||
#include "ui/widgets/labels.h"
|
#include "ui/widgets/labels.h"
|
||||||
#include "ui/wrap/fade_wrap.h"
|
#include "ui/wrap/fade_wrap.h"
|
||||||
@ -993,6 +995,10 @@ void ShowPremium(not_null<Main::Session*> session, const QString &ref) {
|
|||||||
void ShowPremium(
|
void ShowPremium(
|
||||||
not_null<Window::SessionController*> controller,
|
not_null<Window::SessionController*> controller,
|
||||||
const QString &ref) {
|
const QString &ref) {
|
||||||
|
if (!controller->session().premiumPossible()) {
|
||||||
|
controller->show(Box(PremiumUnavailableBox));
|
||||||
|
return;
|
||||||
|
}
|
||||||
controller->setPremiumRef(ref);
|
controller->setPremiumRef(ref);
|
||||||
controller->showSettings(Settings::PremiumId());
|
controller->showSettings(Settings::PremiumId());
|
||||||
}
|
}
|
||||||
|
@ -336,7 +336,7 @@ bool ShowSendPremiumError(
|
|||||||
not_null<SessionController*> controller,
|
not_null<SessionController*> controller,
|
||||||
not_null<DocumentData*> document) {
|
not_null<DocumentData*> document) {
|
||||||
if (!document->isPremiumSticker()
|
if (!document->isPremiumSticker()
|
||||||
|| document->session().user()->isPremium()) {
|
|| document->session().premium()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
ShowStickerPreviewBox(controller, document);
|
ShowStickerPreviewBox(controller, document);
|
||||||
|
Loading…
Reference in New Issue
Block a user