diff options
Diffstat (limited to 'src/open_chats.rs')
-rw-r--r-- | src/open_chats.rs | 34 |
1 files changed, 7 insertions, 27 deletions
diff --git a/src/open_chats.rs b/src/open_chats.rs index 6d08c5d..8b2f2cb 100644 --- a/src/open_chats.rs +++ b/src/open_chats.rs @@ -1,9 +1,9 @@ use filamento::chat::ChatStoreFields; use indexmap::IndexMap; use jid::BareJID; +use leptos::prelude::*; use reactive_stores::{ArcStore, Store}; use tracing::debug; -use leptos::prelude::*; use crate::chat::{ArcMacawChat, MacawChat}; @@ -18,28 +18,19 @@ pub struct OpenChatsPanel { pub fn open_chat(open_chats: Store<OpenChatsPanel>, chat: ArcMacawChat) { if let Some(jid) = &*open_chats.chat_view().read() { if let Some((index, _jid, entry)) = open_chats.chats().write().shift_remove_full(jid) { - let new_jid = chat.get() - .correspondent() - .read() - .clone(); + let new_jid = chat.get().correspondent().read().clone(); open_chats .chats() .write() .insert_before(index, new_jid.clone(), chat); *open_chats.chat_view().write() = Some(new_jid); } else { - let new_jid = chat.get() - .correspondent() - .read() - .clone(); + let new_jid = chat.get().correspondent().read().clone(); open_chats.chats().write().insert(new_jid.clone(), chat); *open_chats.chat_view().write() = Some(new_jid); } } else { - let new_jid = chat.get() - .correspondent() - .read() - .clone(); + let new_jid = chat.get().correspondent().read().clone(); open_chats.chats().write().insert(new_jid.clone(), chat); *open_chats.chat_view().write() = Some(new_jid); } @@ -50,25 +41,16 @@ impl OpenChatsPanel { if let Some(jid) = &mut self.chat_view { debug!("a chat was already open"); if let Some((index, _jid, entry)) = self.chats.shift_remove_full(jid) { - let new_jid = chat.get() - .correspondent() - .read() - .clone(); + let new_jid = chat.get().correspondent().read().clone(); self.chats.insert_before(index, new_jid.clone(), chat); *&mut self.chat_view = Some(new_jid); } else { - let new_jid = chat.get() - .correspondent() - .read() - .clone(); + let new_jid = chat.get().correspondent().read().clone(); self.chats.insert(new_jid.clone(), chat); *&mut self.chat_view = Some(new_jid); } } else { - let new_jid = chat.get() - .correspondent() - .read() - .clone(); + let new_jid = chat.get().correspondent().read().clone(); self.chats.insert(new_jid.clone(), chat); *&mut self.chat_view = Some(new_jid); } @@ -84,5 +66,3 @@ impl OpenChatsPanel { // } } - - |