Respected pause reason in mini stars from section for main settings.

This commit is contained in:
23rd 2025-01-24 12:24:33 +03:00 committed by John Preston
parent 22ec7a6d75
commit f90a4db569

View file

@ -278,7 +278,8 @@ void Cover::refreshUsernameGeometry(int newWidth) {
[[nodiscard]] not_null<Ui::SettingsButton*> AddPremiumStar(
not_null<Ui::SettingsButton*> button,
bool credits) {
bool credits,
Fn<bool()> isPaused) {
const auto stops = credits
? Ui::Premium::CreditsIconGradientStops()
: Ui::Premium::ButtonGradientStops();
@ -293,8 +294,15 @@ void Cover::refreshUsernameGeometry(int newWidth) {
false);
ministars->setColorOverride(stops);
const auto isPausedValue
= button->lifetime().make_state<rpl::variable<bool>>(isPaused());
isPausedValue->value() | rpl::start_with_next([=](bool value) {
ministars->setPaused(value);
}, ministarsContainer->lifetime());
ministarsContainer->paintRequest(
) | rpl::start_with_next([=] {
(*isPausedValue) = isPaused();
auto p = QPainter(ministarsContainer);
{
constexpr auto kScale = 0.35;
@ -499,12 +507,17 @@ void SetupPremium(
Ui::AddDivider(container);
Ui::AddSkip(container);
const auto isPaused = Window::PausedIn(
controller,
Window::GifPauseReason::Any);
AddPremiumStar(
AddButtonWithIcon(
container,
tr::lng_premium_summary_title(),
st::settingsButton),
false
false,
isPaused
)->addClickHandler([=] {
controller->setPremiumRef("settings");
showOther(PremiumId());
@ -522,7 +535,8 @@ void SetupPremium(
: QString();
}),
st::settingsButton),
true
true,
isPaused
)->addClickHandler([=] {
controller->setPremiumRef("settings");
showOther(CreditsId());