Mark hidden chats with a userpic badge in community view.

This commit is contained in:
John Preston
2026-06-17 01:48:43 +04:00
parent 442c0a7313
commit 3b44f5c193
7 changed files with 101 additions and 7 deletions
@@ -132,6 +132,13 @@ void CommunityInfo::applyLinkedPeers(const QVector<MTPCommunityPeer> &list) {
}
_linkedPeers = std::move(now);
_hiddenPeers.clear();
for (const auto &linked : _linkedPeers) {
if (linked.visible.has_value() && !*linked.visible) {
_hiddenPeers.emplace(linked.peer);
}
}
const auto communityId = peerToChannel(_channel->id);
for (const auto &linked : _linkedPeers) {
if (const auto channel = linked.peer->asChannel()) {
@@ -163,6 +170,10 @@ rpl::producer<> CommunityInfo::linkedPeersValue() const {
) | rpl::then(_linkedPeersChanges.events());
}
bool CommunityInfo::isHidden(not_null<PeerData*> peer) const {
return _hiddenPeers.contains(peer);
}
bool CommunityInfo::collapsedInDialogs() const {
return _channel->flags() & ChannelDataFlag::CommunityCollapsed;
}