Fixed padding of TopBar in Premium Settings for user.
This commit is contained in:
parent
557a2e400e
commit
47b32898f5
|
@ -127,6 +127,11 @@ constexpr auto kMinAcceptableContrast = 4.5; // 1.14;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[[nodiscard]] int TopTransitionSkip() {
|
||||||
|
return (st::settingsButton.padding.top()
|
||||||
|
+ st::settingsPremiumRowTitlePadding.top()) / 2;
|
||||||
|
}
|
||||||
|
|
||||||
namespace Ref {
|
namespace Ref {
|
||||||
namespace Gift {
|
namespace Gift {
|
||||||
|
|
||||||
|
@ -760,7 +765,8 @@ TopBarUser::TopBarUser(
|
||||||
sizeValue()
|
sizeValue()
|
||||||
) | rpl::start_with_next([=](bool showFinished, const QSize &size) {
|
) | rpl::start_with_next([=](bool showFinished, const QSize &size) {
|
||||||
_content->resize(size.width(), maximumHeight());
|
_content->resize(size.width(), maximumHeight());
|
||||||
_content->moveToLeft(0, -(_content->height() - size.height()));
|
const auto skip = TopTransitionSkip();
|
||||||
|
_content->moveToLeft(0, size.height() - _content->height() - skip);
|
||||||
|
|
||||||
_smallTop.widget->resize(size.width(), minimumHeight());
|
_smallTop.widget->resize(size.width(), minimumHeight());
|
||||||
smallTopShadow->resizeToWidth(size.width());
|
smallTopShadow->resizeToWidth(size.width());
|
||||||
|
@ -1123,9 +1129,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setupContent();
|
void setupContent();
|
||||||
void setupSubscriptionOptions(
|
void setupSubscriptionOptions(not_null<Ui::VerticalLayout*> container);
|
||||||
not_null<Ui::VerticalLayout*> container,
|
|
||||||
int lastSkip);
|
|
||||||
|
|
||||||
const not_null<Window::SessionController*> _controller;
|
const not_null<Window::SessionController*> _controller;
|
||||||
const QString _ref;
|
const QString _ref;
|
||||||
|
@ -1179,8 +1183,9 @@ void Premium::setStepDataReference(std::any &data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Premium::setupSubscriptionOptions(
|
void Premium::setupSubscriptionOptions(
|
||||||
not_null<Ui::VerticalLayout*> container,
|
not_null<Ui::VerticalLayout*> container) {
|
||||||
int lastSkip) {
|
const auto isEmojiStatus = (!!Ref::EmojiStatus::Parse(_ref));
|
||||||
|
|
||||||
const auto options = container->add(
|
const auto options = container->add(
|
||||||
object_ptr<Ui::SlideWrap<Ui::VerticalLayout>>(
|
object_ptr<Ui::SlideWrap<Ui::VerticalLayout>>(
|
||||||
container,
|
container,
|
||||||
|
@ -1204,12 +1209,14 @@ void Premium::setupSubscriptionOptions(
|
||||||
AddSkip(content, st::settingsPremiumOptionsPadding.bottom());
|
AddSkip(content, st::settingsPremiumOptionsPadding.bottom());
|
||||||
AddDivider(content);
|
AddDivider(content);
|
||||||
|
|
||||||
|
const auto lastSkip = TopTransitionSkip() * (isEmojiStatus ? 1 : 2);
|
||||||
|
|
||||||
AddSkip(content, lastSkip - st::settingsSectionSkip);
|
AddSkip(content, lastSkip - st::settingsSectionSkip);
|
||||||
AddSkip(skip->entity(), lastSkip);
|
AddSkip(skip->entity(), lastSkip);
|
||||||
|
|
||||||
auto toggleOn = rpl::combine(
|
auto toggleOn = rpl::combine(
|
||||||
Data::AmPremiumValue(&_controller->session()),
|
Data::AmPremiumValue(&_controller->session()),
|
||||||
rpl::single(!!(Ref::EmojiStatus::Parse(_ref))),
|
rpl::single(isEmojiStatus),
|
||||||
apiPremium->statusTextValue(
|
apiPremium->statusTextValue(
|
||||||
) | rpl::map([=] {
|
) | rpl::map([=] {
|
||||||
return apiPremium->subscriptionOptions().size() < 2;
|
return apiPremium->subscriptionOptions().size() < 2;
|
||||||
|
@ -1232,9 +1239,7 @@ void Premium::setupContent() {
|
||||||
const auto &titlePadding = st::settingsPremiumRowTitlePadding;
|
const auto &titlePadding = st::settingsPremiumRowTitlePadding;
|
||||||
const auto &descriptionPadding = st::settingsPremiumRowAboutPadding;
|
const auto &descriptionPadding = st::settingsPremiumRowAboutPadding;
|
||||||
|
|
||||||
setupSubscriptionOptions(
|
setupSubscriptionOptions(content);
|
||||||
content,
|
|
||||||
stDefault.padding.top() + titlePadding.top());
|
|
||||||
|
|
||||||
auto entryMap = EntryMap();
|
auto entryMap = EntryMap();
|
||||||
auto iconContainers = std::vector<Ui::AbstractButton*>();
|
auto iconContainers = std::vector<Ui::AbstractButton*>();
|
||||||
|
@ -1525,7 +1530,7 @@ QPointer<Ui::RpWidget> Premium::createPinnedToTop(
|
||||||
}, content->lifetime());
|
}, content->lifetime());
|
||||||
|
|
||||||
content->setMaximumHeight(isEmojiStatus
|
content->setMaximumHeight(isEmojiStatus
|
||||||
? st::settingsPremiumUserHeight
|
? st::settingsPremiumUserHeight + TopTransitionSkip()
|
||||||
: st::settingsPremiumTopHeight);
|
: st::settingsPremiumTopHeight);
|
||||||
content->setMinimumHeight(st::infoLayerTopBarHeight);
|
content->setMinimumHeight(st::infoLayerTopBarHeight);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue