Implement basic channel member management UI

Co-authored-by: Mikayla <mikayla@zed.dev>
This commit is contained in:
Max Brunsfeld 2023-08-03 14:49:01 -07:00
parent 129f2890c5
commit a7e883d956
9 changed files with 368 additions and 100 deletions

View file

@ -1333,7 +1333,9 @@ impl CollabPanel {
enum Accept {}
let channel_id = channel.id;
let is_invite_pending = channel_store.read(cx).is_channel_invite_pending(&channel);
let is_invite_pending = channel_store
.read(cx)
.has_pending_channel_invite_response(&channel);
let button_spacing = theme.contact_button_spacing;
Flex::row()
@ -1682,7 +1684,10 @@ impl CollabPanel {
let workspace = self.workspace.clone();
let user_store = self.user_store.clone();
let channel_store = self.channel_store.clone();
let members = self.channel_store.read(cx).get_channel_members(channel_id);
let members = self.channel_store.update(cx, |channel_store, cx| {
channel_store.get_channel_member_details(channel_id, cx)
});
cx.spawn(|_, mut cx| async move {
let members = members.await?;
workspace.update(&mut cx, |workspace, cx| {
@ -1692,6 +1697,7 @@ impl CollabPanel {
user_store.clone(),
channel_store.clone(),
channel_id,
channel_modal::Mode::InviteMembers,
members,
cx,
)