From 02bd2bca64d004492aae8c4eaa2f258cc5b4ee0b Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 29 May 2024 03:59:27 +0300 Subject: [PATCH] Removed display of credits button in settings when user has no credits. --- .../SourceFiles/settings/settings_main.cpp | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/Telegram/SourceFiles/settings/settings_main.cpp b/Telegram/SourceFiles/settings/settings_main.cpp index 9f2e73072b..d08ce9a11c 100644 --- a/Telegram/SourceFiles/settings/settings_main.cpp +++ b/Telegram/SourceFiles/settings/settings_main.cpp @@ -491,20 +491,30 @@ void SetupPremium( controller->setPremiumRef("settings"); showOther(PremiumId()); }); - AddPremiumStar( - AddButtonWithLabel( - container, - tr::lng_credits_summary_title(), + { + const auto wrap = container->add( + object_ptr>( + container, + object_ptr(container))); + wrap->toggleOn( controller->session().creditsValue( - ) | rpl::map([=](uint64 c) { - return c ? Lang::FormatCountToShort(c).string : QString{}; - }), - st::settingsButton), - true - )->addClickHandler([=] { - controller->setPremiumRef("settings"); - showOther(CreditsId()); - }); + ) | rpl::map(rpl::mappers::_1 > 0)); + wrap->finishAnimating(); + AddPremiumStar( + AddButtonWithLabel( + wrap->entity(), + tr::lng_credits_summary_title(), + controller->session().creditsValue( + ) | rpl::map([=](uint64 c) { + return c ? Lang::FormatCountToShort(c).string : QString{}; + }), + st::settingsButton), + true + )->addClickHandler([=] { + controller->setPremiumRef("settings"); + showOther(CreditsId()); + }); + } const auto button = AddButtonWithIcon( container, tr::lng_business_title(),