Removed subscription options from Settings when there is only one.

This commit is contained in:
23rd 2022-08-30 20:50:37 +03:00 committed by John Preston
parent 7ed10eaacc
commit b2d72e2541
2 changed files with 10 additions and 6 deletions

View File

@ -162,7 +162,7 @@ void GiftBox(
auto text = tr::lng_premium_gift_button(
tr::now,
lt_cost,
options[value].total);
options[value].costTotal);
state->buttonText.fire(std::move(text));
});
Ui::Premium::AddGiftOptions(

View File

@ -1121,11 +1121,11 @@ void Premium::setupSubscriptionOptions(
AddSkip(content, st::settingsPremiumOptionsPadding.top());
const auto apiPremium = &_controller->session().api().premium();
Ui::Premium::AddGiftOptions(
content,
_radioGroup,
SubscriptionOptionsForRows(
_controller->session().api().premium().subscriptionOptions()),
SubscriptionOptionsForRows(apiPremium->subscriptionOptions()),
st::premiumSubscriptionOption,
true);
@ -1137,9 +1137,13 @@ void Premium::setupSubscriptionOptions(
auto toggleOn = rpl::combine(
Data::AmPremiumValue(&_controller->session()),
rpl::single(!!(Ref::EmojiStatus::Parse(_ref)))
) | rpl::map([=](bool premium, bool isEmojiStatus) {
return !premium && !isEmojiStatus;
rpl::single(!!(Ref::EmojiStatus::Parse(_ref))),
apiPremium->statusTextValue(
) | rpl::map([=] {
return apiPremium->subscriptionOptions().size() < 2;
})
) | rpl::map([=](bool premium, bool isEmojiStatus, bool noOptions) {
return !premium && !isEmojiStatus && !noOptions;
});
options->toggleOn(rpl::duplicate(toggleOn), anim::type::instant);
skip->toggleOn(std::move(