summaryrefslogtreecommitdiffstats
path: root/src/components/roster_list.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/roster_list.rs')
-rw-r--r--src/components/roster_list.rs7
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! {