From 36e87b708ed3a2b0d6f2e932509b0fdf10fe0089 Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Sat, 7 Jun 2025 17:36:22 +0100 Subject: fix: avatar flashing from avatar load --- src/components/chats_list.rs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'src/components/chats_list.rs') diff --git a/src/components/chats_list.rs b/src/components/chats_list.rs index a5ecc9b..f958ebe 100644 --- a/src/components/chats_list.rs +++ b/src/components/chats_list.rs @@ -20,18 +20,14 @@ pub fn ChatsList() -> impl IntoView { .map_err(|e| e.to_string()); match chats { Ok(c) => { - let chats = c - .into_iter() - .map(|((chat, chat_user), (message, message_user))| { - ( - chat.correspondent.clone(), - ( - ArcMacawChat::got_chat_and_user(chat, chat_user), - ArcMacawMessage::got_message_and_user(message, message_user), - ), - ) - }) - .collect::>(); + let mut chats = IndexMap::new(); + for ((chat, chat_user), (message, message_user)) in c { + chats.insert(chat.correspondent.clone(), ( + ArcMacawChat::got_chat_and_user(chat, chat_user).await, + ArcMacawMessage::got_message_and_user(message, message_user).await, + + )); + } set_chats.set(chats); } Err(_) => { @@ -64,7 +60,7 @@ pub fn ChatsList() -> impl IntoView { let chat = client.get_chat(to.clone()).await.unwrap(); let user = client.get_user(to.clone()).await.unwrap(); debug!("before got chat"); - let chat = ArcMacawChat::got_chat_and_user(chat, user); + let chat = ArcMacawChat::got_chat_and_user(chat, user).await; debug!("after got chat"); chats.insert_before(0, to, (chat, new_message)); debug!("done setting"); -- cgit