diff options
author | 2025-06-02 19:50:45 +0100 | |
---|---|---|
committer | 2025-06-02 19:50:45 +0100 | |
commit | ab654372e4d3766c8df17623a6de8922fc2a1960 (patch) | |
tree | 59ff88ab5da68af23ad84bc2310730e29eb89410 /src/components/roster_list | |
parent | 6ee4190a26f32bfa953302ee363ad3bb6c384ebb (diff) | |
download | macaw-web-ab654372e4d3766c8df17623a6de8922fc2a1960.tar.gz macaw-web-ab654372e4d3766c8df17623a6de8922fc2a1960.tar.bz2 macaw-web-ab654372e4d3766c8df17623a6de8922fc2a1960.zip |
feat: make `MacawUser`, `MacawChat` and `MacawMessage` arena-allocated
Diffstat (limited to 'src/components/roster_list')
-rw-r--r-- | src/components/roster_list/roster_list_item.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/components/roster_list/roster_list_item.rs b/src/components/roster_list/roster_list_item.rs index 46ac1cc..9ebc26a 100644 --- a/src/components/roster_list/roster_list_item.rs +++ b/src/components/roster_list/roster_list_item.rs @@ -5,13 +5,13 @@ use leptos::prelude::*; use reactive_stores::{ArcStore, Store}; use tracing::debug; -use crate::{chat::MacawChat, components::{avatar::AvatarWithPresence, sidebar::Open}, contact::MacawContact, open_chats::{OpenChatsPanel, OpenChatsPanelStoreFields}, user::get_name}; +use crate::{chat::{ArcMacawChat, MacawChat}, components::{avatar::AvatarWithPresence, sidebar::Open}, contact::MacawContact, open_chats::{OpenChatsPanel, OpenChatsPanelStoreFields}, user::get_name}; #[component] pub fn RosterListItem(contact: MacawContact) -> impl IntoView { let contact_contact: Store<Contact> = contact.contact; let contact_user: Store<User> = - <ArcStore<filamento::user::User> as Clone>::clone(&contact.user).into(); + <ArcStore<filamento::user::User> as Clone>::clone(&contact.user.get()).into(); let name = move || get_name(contact_user, false); let open_chats: Store<OpenChatsPanel> = @@ -23,11 +23,11 @@ pub fn RosterListItem(contact: MacawContact) -> impl IntoView { correspondent: contact_user.jid().get(), have_chatted: false, }; - let chat = MacawChat::got_chat_and_user(chat, contact_user.get()); + let chat = ArcMacawChat::got_chat_and_user(chat, contact_user.get()); let open_chat = move |_| { debug!("opening chat"); - open_chats.update(|open_chats| open_chats.open(chat.clone())); + open_chats.update(|open_chats| open_chats.open(Clone::clone(&chat))); }; let open = move || { |