Update profile badges order.

This commit is contained in:
John Preston 2022-06-23 15:41:37 +04:00
parent 2d651050ad
commit fc8ea688a3
3 changed files with 25 additions and 25 deletions

View file

@ -1941,7 +1941,7 @@ auto ParticipantsBoxController::computeType(
? Badge::Fake
: user->isVerified()
? Badge::Verified
: (user->isPremium() && participant->session().premiumPossible())
: (user->isPremium() && participant->session().premiumBadgesShown())
? Badge::Premium
: Badge::None;
return result;

View file

@ -479,14 +479,14 @@ rpl::producer<Badge> BadgeValueFromFlags(Peer peer) {
Flag::Verified | Flag::Scam | Flag::Fake),
Data::PeerPremiumValue(peer)
) | rpl::map([=](base::flags<Flag> value, bool premium) {
return (value & Flag::Verified)
? Badge::Verified
: premium
? Badge::Premium
: (value & Flag::Scam)
return (value & Flag::Scam)
? Badge::Scam
: (value & Flag::Fake)
? Badge::Fake
: (value & Flag::Verified)
? Badge::Verified
: premium
? Badge::Premium
: Badge::None;
});
}

View file

@ -110,25 +110,7 @@ int DrawPeerBadgeGetWidth(
int nameWidth,
int outerWidth,
const PeerBadgeStyle &st) {
if (peer->isVerified() && st.verified) {
const auto iconw = st.verified->width();
st.verified->paint(
p,
rectForName.x() + qMin(nameWidth, rectForName.width() - iconw),
rectForName.y(),
outerWidth);
return iconw;
} else if (peer->isPremium()
&& st.premium
&& peer->session().premiumBadgesShown()) {
const auto iconw = st.premium->width();
st.premium->paint(
p,
rectForName.x() + qMin(nameWidth, rectForName.width() - iconw),
rectForName.y(),
outerWidth);
return iconw;
} else if ((peer->isScam() || peer->isFake()) && st.scam) {
if ((peer->isScam() || peer->isFake()) && st.scam) {
const auto phrase = peer->isScam()
? tr::lng_scam_badge(tr::now)
: tr::lng_fake_badge(tr::now);
@ -149,6 +131,24 @@ int DrawPeerBadgeGetWidth(
height);
DrawScamFakeBadge(p, rect, outerWidth, *st.scam, phrase, phraseWidth);
return st::dialogsScamSkip + width;
} else if (peer->isVerified() && st.verified) {
const auto iconw = st.verified->width();
st.verified->paint(
p,
rectForName.x() + qMin(nameWidth, rectForName.width() - iconw),
rectForName.y(),
outerWidth);
return iconw;
} else if (peer->isPremium()
&& st.premium
&& peer->session().premiumBadgesShown()) {
const auto iconw = st.premium->width();
st.premium->paint(
p,
rectForName.x() + qMin(nameWidth, rectForName.width() - iconw),
rectForName.y(),
outerWidth);
return iconw;
}
return 0;
}