summaryrefslogtreecommitdiffstats
path: root/src/components/new_chat.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/new_chat.rs')
-rw-r--r--src/components/new_chat.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/components/new_chat.rs b/src/components/new_chat.rs
index 2f9b943..3e7a261 100644
--- a/src/components/new_chat.rs
+++ b/src/components/new_chat.rs
@@ -1,12 +1,22 @@
use std::str::FromStr;
-use filamento::{chat::Chat, error::{CommandError, DatabaseError}, user::User};
+use filamento::{
+ chat::Chat,
+ error::{CommandError, DatabaseError},
+ user::User,
+};
use jid::{BareJID, JID};
use leptos::{html::Input, prelude::*};
use reactive_stores::{ArcStore, Store};
use thiserror::Error;
-use crate::{chat::{ArcMacawChat, MacawChat}, client::Client, open_chats::OpenChatsPanel, state_store::StateStore, user::{fetch_avatar, ArcMacawUser, MacawUser}};
+use crate::{
+ chat::{ArcMacawChat, MacawChat},
+ client::Client,
+ open_chats::OpenChatsPanel,
+ state_store::StateStore,
+ user::{ArcMacawUser, MacawUser, fetch_avatar},
+};
#[derive(Clone, Debug, Error)]
pub enum NewChatError {
@@ -34,7 +44,7 @@ pub fn NewChatWidget(set_open_new_chat: WriteSignal<bool>) -> impl IntoView {
})
};
let (new_chat_pending, set_new_chat_pending) = signal(false);
-
+
let open_chats: Store<OpenChatsPanel> =
use_context().expect("no open chats panel store in context");
let client = use_context::<Client>().expect("client not in context");
@@ -72,7 +82,7 @@ pub fn NewChatWidget(set_open_new_chat: WriteSignal<bool>) -> impl IntoView {
set_error.set(Some(e.into()));
set_new_chat_pending.set(false);
return;
- },
+ }
};
let chat = {
@@ -80,7 +90,9 @@ pub fn NewChatWidget(set_open_new_chat: WriteSignal<bool>) -> impl IntoView {
// let user = user_state_store.store(user.jid.clone(), ArcStore::new(user));
let old_user = user_state_store.get_listener(user.jid.clone());
let user = if let Some(old_user) = old_user {
- old_user.update(|(old_user, _avatar)| { old_user.set(user); });
+ old_user.update(|(old_user, _avatar)| {
+ old_user.set(user);
+ });
old_user
} else {
let avatar = fetch_avatar(user.avatar.as_deref()).await;
@@ -129,4 +141,3 @@ pub fn NewChatWidget(set_open_new_chat: WriteSignal<bool>) -> impl IntoView {
</div>
}
}
-