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 ? Badge::Fake
: user->isVerified() : user->isVerified()
? Badge::Verified ? Badge::Verified
: (user->isPremium() && participant->session().premiumPossible()) : (user->isPremium() && participant->session().premiumBadgesShown())
? Badge::Premium ? Badge::Premium
: Badge::None; : Badge::None;
return result; return result;

View file

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

View file

@ -110,25 +110,7 @@ int DrawPeerBadgeGetWidth(
int nameWidth, int nameWidth,
int outerWidth, int outerWidth,
const PeerBadgeStyle &st) { const PeerBadgeStyle &st) {
if (peer->isVerified() && st.verified) { if ((peer->isScam() || peer->isFake()) && st.scam) {
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) {
const auto phrase = peer->isScam() const auto phrase = peer->isScam()
? tr::lng_scam_badge(tr::now) ? tr::lng_scam_badge(tr::now)
: tr::lng_fake_badge(tr::now); : tr::lng_fake_badge(tr::now);
@ -149,6 +131,24 @@ int DrawPeerBadgeGetWidth(
height); height);
DrawScamFakeBadge(p, rect, outerWidth, *st.scam, phrase, phraseWidth); DrawScamFakeBadge(p, rect, outerWidth, *st.scam, phrase, phraseWidth);
return st::dialogsScamSkip + width; 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; return 0;
} }