summaryrefslogtreecommitdiffstats
path: root/src/components/message.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/message.rs')
-rw-r--r--src/components/message.rs46
1 files changed, 35 insertions, 11 deletions
diff --git a/src/components/message.rs b/src/components/message.rs
index 78ebeb6..9eb0b09 100644
--- a/src/components/message.rs
+++ b/src/components/message.rs
@@ -2,7 +2,10 @@ use filamento::chat::MessageStoreFields;
use leptos::prelude::*;
use reactive_stores::{ArcStore, Store};
-use crate::{message::MacawMessage, user::{get_avatar, get_name, NO_AVATAR}};
+use crate::{
+ message::MacawMessage,
+ user::{NO_AVATAR, get_avatar, get_name},
+};
use super::icon::Delivery;
@@ -16,33 +19,54 @@ pub fn Message(message: MacawMessage, major: bool, r#final: bool) -> impl IntoVi
if major {
view! {
<div class:final=r#final class="chat-message major">
- <div class="left">
- <Transition fallback=|| view! { <img class="avatar" src=NO_AVATAR /> } >
+ <div class="left">
+ <Transition fallback=|| view! { <img class="avatar" src=NO_AVATAR /> }>
<img class="avatar" src=move || message.user.avatar().get() />
</Transition>
- </div>
+ </div>
<div class="middle">
<div class="message-info">
<div class="message-user-name">{name}</div>
- <div class="message-timestamp">{move || message.get().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.get().body().read().body.clone()}
</div>
</div>
- <div class="right message-delivery">{move || message.get().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()
+ }
+ .into_any()
} else {
view! {
<div class:final=r#final class="chat-message minor">
<div class="left message-timestamp">
{move || message.get().timestamp().read().format("%H:%M").to_string()}
</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 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()
+ }
+ .into_any()
}
}
-