summaryrefslogtreecommitdiffstats
path: root/src/components/roster_list
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-06-02 19:50:45 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-06-02 19:50:45 +0100
commitab654372e4d3766c8df17623a6de8922fc2a1960 (patch)
tree59ff88ab5da68af23ad84bc2310730e29eb89410 /src/components/roster_list
parent6ee4190a26f32bfa953302ee363ad3bb6c384ebb (diff)
downloadmacaw-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.rs8
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 || {