diff options
author | 2025-06-02 21:16:18 +0100 | |
---|---|---|
committer | 2025-06-02 21:16:18 +0100 | |
commit | 4a5aa6579f5184c443ffbe80ce93e0daa0926826 (patch) | |
tree | c1c2e71dc7765403ae0a3670d50eaaf158b24786 /src/components/message.rs | |
parent | ab654372e4d3766c8df17623a6de8922fc2a1960 (diff) | |
download | macaw-web-4a5aa6579f5184c443ffbe80ce93e0daa0926826.tar.gz macaw-web-4a5aa6579f5184c443ffbe80ce93e0daa0926826.tar.bz2 macaw-web-4a5aa6579f5184c443ffbe80ce93e0daa0926826.zip |
Diffstat (limited to 'src/components/message.rs')
-rw-r--r-- | src/components/message.rs | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/components/message.rs b/src/components/message.rs index 5deccdd..f55c5f7 100644 --- a/src/components/message.rs +++ b/src/components/message.rs @@ -8,11 +8,8 @@ use super::icon::Delivery; #[component] pub fn Message(message: MacawMessage, major: bool, r#final: bool) -> impl IntoView { - let message_message: Store<filamento::chat::Message> = - <ArcStore<filamento::chat::Message> as Clone>::clone(&message.get()).into(); - let message_user = <ArcStore<filamento::user::User> as Clone>::clone(&message.user.get()).into(); - let avatar = LocalResource::new(move || get_avatar(message_user)); - let name = move || get_name(message_user, false); + let avatar = LocalResource::new(move || get_avatar(message.user.get().into())); + let name = move || get_name(message.user.get().into(), false); // TODO: chrono-humanize? // TODO: if final, show delivery not only on hover. @@ -28,23 +25,23 @@ pub fn Message(message: MacawMessage, major: bool, r#final: bool) -> impl IntoVi <div class="middle"> <div class="message-info"> <div class="message-user-name">{name}</div> - <div class="message-timestamp">{move || message_message.timestamp().read().format("%H:%M").to_string()}</div> + <div class="message-timestamp">{move || message.get().timestamp().read().format("%H:%M").to_string()}</div> </div> <div class="message-text"> - {move || message_message.body().read().body.clone()} + {move || message.get().body().read().body.clone()} </div> </div> - <div class="right message-delivery">{move || message_message.delivery().get().map(|delivery| view! { <Delivery class:light=true delivery /> } ) }</div> + <div class="right message-delivery">{move || message.get().delivery().get().map(|delivery| view! { <Delivery class:light=true delivery /> } ) }</div> </div> }.into_any() } else { view! { <div class:final=r#final class="chat-message minor"> <div class="left message-timestamp"> - {move || message_message.timestamp().read().format("%H:%M").to_string()} + {move || message.get().timestamp().read().format("%H:%M").to_string()} </div> - <div class="middle message-text">{move || message_message.body().read().body.clone()}</div> - <div class="right message-delivery">{move || message_message.delivery().get().map(|delivery| view! { <Delivery delivery /> } ) }</div> + <div class="middle message-text">{move || message.get().body().read().body.clone()}</div> + <div class="right message-delivery">{move || message.get().delivery().get().map(|delivery| view! { <Delivery delivery /> } ) }</div> </div> }.into_any() } |