diff --git a/Telegram/SourceFiles/info/info.style b/Telegram/SourceFiles/info/info.style index 75e5c29dd1..a3a04c9ac9 100644 --- a/Telegram/SourceFiles/info/info.style +++ b/Telegram/SourceFiles/info/info.style @@ -595,7 +595,7 @@ infoRatingDeductedBadge: RoundButton(customEmojiTextBadge) { infoProfileInaccessibleUserpic: icon {{ "info/inaccessible_userpic", historyPeerUserpicFg }}; -infoVerifiedCheckPosition: point(4px, 2px); +infoVerifiedCheckPosition: point(4px, 0px); infoVerifiedStar: icon {{ "profile_verified_star", profileVerifiedCheckBg }}; infoPremiumStar: icon {{ "profile_premium", profileVerifiedCheckBg }}; diff --git a/Telegram/SourceFiles/info/profile/info_profile_badge.cpp b/Telegram/SourceFiles/info/profile/info_profile_badge.cpp index fbafdeb280..545787f3b0 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_badge.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_badge.cpp @@ -257,6 +257,9 @@ rpl::producer BadgeContentForPeer(not_null peer) { BadgeValue(peer), EmojiStatusIdValue(peer) ) | rpl::map([=](BadgeType badge, EmojiStatusId emojiStatusId) { + if (emojiStatusId.collectible) { + return Badge::Content{ BadgeType::Premium, emojiStatusId }; + } if (badge == BadgeType::Verified) { badge = BadgeType::None; } diff --git a/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp b/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp index 4eac975c9e..08cdb06529 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp @@ -621,15 +621,26 @@ void TopBar::updateCollectibleStatus() { _animatedPoints.clear(); _pinnedToTopGifts.clear(); } - if (colorProfile && !colorProfile->palette.empty()) { + const auto verifiedFg = [&]() -> std::optional { + if (collectible) { + return Ui::BlendColors( + collectible->edgeColor, + collectible->centerColor, + 0.2); + } + if (colorProfile && !colorProfile->palette.empty()) { + return Ui::BlendColors( + colorProfile->palette.back(), + colorProfile->palette.size() == 1 ? Qt::white : Qt::black, + 0.2); + } + return std::nullopt; + }(); + if (verifiedFg) { const auto copyStVerified = [&](const style::InfoPeerBadge &st) { auto result = std::make_unique( base::duplicate(st)); - auto fg = std::make_shared( - Ui::BlendColors( - colorProfile->palette.back(), - colorProfile->palette.size() == 1 ? Qt::white : Qt::black, - 0.2)); + auto fg = std::make_shared(*verifiedFg); result->premiumFg = fg->color(); return std::shared_ptr( result.release(),