summaryrefslogtreecommitdiffstats
path: root/src/components/chat_header.rs
blob: 208e7f61ee986f0b78f960b7986c29aa99cb47f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use filamento::user::UserStoreFields;
use leptos::prelude::*;
use reactive_stores::ArcStore;

use crate::{chat::MacawChat, components::avatar::AvatarWithPresence, user::get_name};

#[component]
pub fn ChatViewHeader(chat: MacawChat) -> impl IntoView {
    let chat_user = <ArcStore<filamento::user::User> as Clone>::clone(&chat.user).into();
    let name = move || get_name(chat_user, true);
    let jid = move || chat_user.jid().read().to_string();

    view! {
        <div class="chat-view-header panel">
            <AvatarWithPresence user=chat_user />
            <div class="user-info">
                <h2 class="name">{name}</h2>
                <h3>{jid}</h3>
            </div>
        </div>
    }
}