summaryrefslogtreecommitdiffstats
path: root/src/components/chats_list.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-06-07 17:36:22 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-06-07 17:36:22 +0100
commit36e87b708ed3a2b0d6f2e932509b0fdf10fe0089 (patch)
tree5f3fc5a3d863f52a82a204a7746532202103d7cc /src/components/chats_list.rs
parent4a5aa6579f5184c443ffbe80ce93e0daa0926826 (diff)
downloadmacaw-web-main.tar.gz
macaw-web-main.tar.bz2
macaw-web-main.zip
fix: avatar flashing from avatar loadHEADmain
Diffstat (limited to '')
-rw-r--r--src/components/chats_list.rs22
1 files changed, 9 insertions, 13 deletions
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::<IndexMap<BareJID, _>>();
+ 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");