From ab654372e4d3766c8df17623a6de8922fc2a1960 Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Mon, 2 Jun 2025 19:50:45 +0100 Subject: feat: make `MacawUser`, `MacawChat` and `MacawMessage` arena-allocated --- src/components/roster_list/roster_list_item.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/components/roster_list') 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; let contact_user: Store = - as Clone>::clone(&contact.user).into(); + as Clone>::clone(&contact.user.get()).into(); let name = move || get_name(contact_user, false); let open_chats: Store = @@ -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 || { -- cgit