diff options
Diffstat (limited to 'src/components/new_chat.rs')
-rw-r--r-- | src/components/new_chat.rs | 23 |
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> } } - |