diff options
Diffstat (limited to 'src/components/roster_list.rs')
-rw-r--r-- | src/components/roster_list.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/components/roster_list.rs b/src/components/roster_list.rs index a398ffe..310b703 100644 --- a/src/components/roster_list.rs +++ b/src/components/roster_list.rs @@ -6,7 +6,7 @@ use leptos::prelude::*; use reactive_stores::Store; use roster_list_item::RosterListItem; -use crate::{components::icon::IconComponent, icon::Icon, roster::{Roster, RosterStoreFields}}; +use crate::{components::icon::IconComponent, icon::Icon, open_chats::{OpenChatsPanel, OpenChatsPanelStoreFields}, roster::{Roster, RosterStoreFields}}; mod contact_request_manager; mod roster_list_item; @@ -15,8 +15,13 @@ mod roster_list_item; pub fn RosterList() -> impl IntoView { let requests: ReadSignal<HashSet<BareJID>> = use_context().expect("no pending subscriptions in context"); + let open_chats: Store<OpenChatsPanel> = + use_context().expect("no open chats panel store in context"); + let roster: Store<Roster> = use_context().expect("no roster in context"); let (open_add_contact, set_open_add_contact) = signal(false); + let open_chat = Memo::new(move |_| open_chats.chat_view().get()); + provide_context(open_chat); // TODO: filter new messages signal view! { |