Group community chats into one chat list row.

This commit is contained in:
John Preston
2026-06-12 14:32:58 +04:00
parent 6a4e9e9ee3
commit 31cd148e87
11 changed files with 471 additions and 28 deletions
@@ -179,6 +179,16 @@ void Communities::toggleCollapsedInDialogs(
if (!_collapseRequests.emplace(community).second) {
return;
}
const auto was = (community->flags()
& ChannelDataFlag::CommunityCollapsed) != 0;
const auto apply = [=](bool value) {
if (value) {
community->addFlags(ChannelDataFlag::CommunityCollapsed);
} else {
community->removeFlags(ChannelDataFlag::CommunityCollapsed);
}
};
apply(collapsed);
using Flag = MTPcommunities_ToggleCommunityCollapsedInDialogs::Flag;
_api.request(MTPcommunities_ToggleCommunityCollapsedInDialogs(
MTP_flags(collapsed ? Flag::f_collapsed : Flag()),
@@ -188,6 +198,7 @@ void Communities::toggleCollapsedInDialogs(
_session->api().applyUpdates(result);
}).fail([=] {
_collapseRequests.remove(community);
apply(was);
}).send();
}