summaryrefslogtreecommitdiffstats
path: root/src/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/views')
-rw-r--r--src/views/macaw.rs12
-rw-r--r--src/views/macaw/open_chats_panel.rs6
2 files changed, 8 insertions, 10 deletions
diff --git a/src/views/macaw.rs b/src/views/macaw.rs
index 18e0ad3..1b7051f 100644
--- a/src/views/macaw.rs
+++ b/src/views/macaw.rs
@@ -10,7 +10,7 @@ use tokio::sync::mpsc::Receiver;
use tracing::debug;
use uuid::Uuid;
-use crate::{client::Client, components::sidebar::Sidebar, contact::MacawContact, message::MacawMessage, message_subscriptions::MessageSubscriptions, open_chats::OpenChatsPanel, roster::{Roster, RosterStoreFields}, state_store::StateStore, user::MacawUser, user_presences::{Presences, UserPresences}};
+use crate::{client::Client, components::sidebar::Sidebar, contact::{ArcMacawContact, MacawContact}, message::{ArcMacawMessage, MacawMessage}, message_subscriptions::MessageSubscriptions, open_chats::OpenChatsPanel, roster::{Roster, RosterStoreFields}, state_store::StateStore, user::{ArcMacawUser, MacawUser}, user_presences::{Presences, UserPresences}};
use super::AppState;
@@ -49,11 +49,11 @@ pub fn Macaw(
let user_presences = Store::new(UserPresences::new());
provide_context(user_presences);
- let client_user = LocalResource::new(move || {
+ let client_user: LocalResource<MacawUser> = LocalResource::new(move || {
async move {
let client = use_context::<Client>().expect("client not in context");
let user = client.get_user((*client.jid).clone()).await.unwrap();
- MacawUser::got_user(user)
+ ArcMacawUser::got_user(user).into()
}
});
provide_context(client_user);
@@ -74,7 +74,7 @@ pub fn Macaw(
.map(|(contact, user)| {
(
contact.user_jid.clone(),
- MacawContact::got_contact_and_user(contact, user),
+ ArcMacawContact::got_contact_and_user(contact, user).into(),
)
})
.collect();
@@ -90,7 +90,7 @@ pub fn Macaw(
macaw_contact.set(contact);
} else {
let jid = contact.user_jid.clone();
- let contact = MacawContact::got_contact_and_user(contact, user);
+ let contact = ArcMacawContact::got_contact_and_user(contact, user).into();
roster.insert(jid, contact);
}
});
@@ -116,7 +116,7 @@ pub fn Macaw(
}
UpdateMessage::Message { to, from, message } => {
debug!("before got message");
- let new_message = MacawMessage::got_message_and_user(message, from);
+ let new_message = ArcMacawMessage::got_message_and_user(message, from);
debug!("after got message");
spawn_local(async move {
message_subscriptions
diff --git a/src/views/macaw/open_chats_panel.rs b/src/views/macaw/open_chats_panel.rs
index 062c786..ddc9ec9 100644
--- a/src/views/macaw/open_chats_panel.rs
+++ b/src/views/macaw/open_chats_panel.rs
@@ -36,7 +36,7 @@ pub fn OpenChatsPanelView() -> impl IntoView {
{move || {
if let Some(open_chat) = open_chats.chat_view().get() {
if let Some(open_chat) = open_chats.chats().read().get(&open_chat) {
- view! { <OpenChatView chat=open_chat.clone() /> }.into_any()
+ view! { <OpenChatView chat=open_chat.clone().into() /> }.into_any()
} else {
view! {}.into_any()
}
@@ -57,9 +57,7 @@ mod open_chat {
#[component]
pub fn OpenChatView(chat: MacawChat) -> impl IntoView {
- let chat_chat: Store<Chat> =
- <ArcStore<filamento::chat::Chat> as Clone>::clone(&chat.chat).into();
- let chat_jid = move || chat_chat.correspondent().get();
+ let chat_jid = move || chat.chat.try_get_value().unwrap().get().correspondent().get();
view! {
<div class="open-chat-view">