2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-01 06:55:58 +00:00

Don't show premium star when premium unavailable.

This commit is contained in:
John Preston
2022-06-08 16:53:16 +04:00
parent aaf1383304
commit 916f86b401
14 changed files with 75 additions and 75 deletions

View File

@@ -133,6 +133,13 @@ Session::Session(
}
}, _lifetime);
_account->appConfig().value(
) | rpl::start_with_next([=] {
_premiumPossible = !_account->appConfig().get<bool>(
"premium_purchase_blocked",
true);
}, _lifetime);
if (_settings->hadLegacyCallsPeerToPeerNobody()) {
api().userPrivacy().save(
Api::UserPrivacy::Key::CallsPeer2Peer,
@@ -224,9 +231,22 @@ bool Session::premium() const {
}
bool Session::premiumPossible() const {
return !premium() && !_account->appConfig().get<bool>(
"premium_purchase_blocked",
true);
return premium() || _premiumPossible.current();
}
rpl::producer<bool> Session::premiumPossibleValue() const {
using namespace rpl::mappers;
auto premium = _user->flagsValue(
) | rpl::filter([=](UserData::Flags::Change change) {
return (change.diff & UserDataFlag::Premium);
}) | rpl::map([=] {
return _user->isPremium();
});
return rpl::combine(
std::move(premium),
_premiumPossible.value(),
_1 || _2);
}
uint64 Session::uniqueId() const {