summaryrefslogtreecommitdiffstats
path: root/src/open_chats.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/open_chats.rs')
-rw-r--r--src/open_chats.rs34
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 {
// }
}
-
-