Skip to content

Commit

Permalink
fix(groups): use group members instead of friend list for removing th…
Browse files Browse the repository at this point in the history
…em (#1928)
  • Loading branch information
Flemmli97 authored Mar 20, 2024
1 parent 5e7ff0c commit 8f3100d
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions ui/src/layouts/chats/presentation/chat/edit_group.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ pub fn EditGroup(cx: Scope) -> Element {
log::trace!("rendering edit_group");
let state = use_shared_state::<State>(cx)?;
let minimal = state.read().ui.metadata.minimal_view;
let own = state.read().did_key();
// Search Input
let friend_prefix = use_state(cx, String::new);

Expand All @@ -58,10 +59,15 @@ pub fn EditGroup(cx: Scope) -> Element {
.map(|id| (id.did_key(), id.clone())),
);

let mut friends_group_list = friends_list.clone();
let mut group_members = state.read().get_identities(
&friends_did_already_in_group
.clone()
.into_iter()
.filter(|id| !id.eq(&own))
.collect::<Vec<_>>(),
);
let mut friends_not_in_group_list = friends_list;

friends_group_list.retain(|did_key, _| friends_did_already_in_group.contains(did_key));
friends_not_in_group_list.retain(|did_key, _| !friends_did_already_in_group.contains(did_key));

friends_not_in_group_list.retain(|_, friend| {
Expand All @@ -70,7 +76,7 @@ pub fn EditGroup(cx: Scope) -> Element {
.to_ascii_lowercase()
.contains(&friend_prefix.to_ascii_lowercase())
});
friends_group_list.retain(|_, friend| {
group_members.retain(|friend| {
friend
.username()
.to_ascii_lowercase()
Expand All @@ -81,7 +87,7 @@ pub fn EditGroup(cx: Scope) -> Element {
let mut friends: Vec<Identity> = if *edit_group_action.get() == EditGroupAction::Add {
friends_not_in_group_list.values().cloned().collect()
} else {
friends_group_list.values().cloned().collect()
group_members
};

friends.sort_by_key(|d| d.username());
Expand Down

0 comments on commit 8f3100d

Please sign in to comment.