summaryrefslogtreecommitdiffstats
path: root/src/components/message_history_buffer.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-06-11 02:54:27 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-06-11 02:54:27 +0100
commit838e99fd1577c52121e148efabcd624114a8b9ad (patch)
treedaaa4e0d00e53a851bf967f668cbc121018d4a5f /src/components/message_history_buffer.rs
parent8bd186fe47eda25b36f945f926ce19093d16fe39 (diff)
downloadmacaw-web-838e99fd1577c52121e148efabcd624114a8b9ad.tar.gz
macaw-web-838e99fd1577c52121e148efabcd624114a8b9ad.tar.bz2
macaw-web-838e99fd1577c52121e148efabcd624114a8b9ad.zip
fmt: everything
Diffstat (limited to 'src/components/message_history_buffer.rs')
-rw-r--r--src/components/message_history_buffer.rs67
1 files changed, 24 insertions, 43 deletions
diff --git a/src/components/message_history_buffer.rs b/src/components/message_history_buffer.rs
index dc93054..cf4c328 100644
--- a/src/components/message_history_buffer.rs
+++ b/src/components/message_history_buffer.rs
@@ -1,5 +1,8 @@
use chrono::{NaiveDateTime, TimeDelta};
-use filamento::{chat::{Chat, ChatStoreFields, MessageStoreFields}, user::User};
+use filamento::{
+ chat::{Chat, ChatStoreFields, MessageStoreFields},
+ user::User,
+};
use indexmap::IndexMap;
use jid::BareJID;
use leptos::prelude::*;
@@ -7,7 +10,13 @@ use reactive_stores::{ArcStore, Store};
use tracing::{debug, error};
use uuid::Uuid;
-use crate::{chat::MacawChat, client::Client, components::message::Message, message::{ArcMacawMessage, MacawMessage}, message_subscriptions::MessageSubscriptions};
+use crate::{
+ chat::MacawChat,
+ client::Client,
+ components::message::Message,
+ message::{ArcMacawMessage, MacawMessage},
+ message_subscriptions::MessageSubscriptions,
+};
#[component]
pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {
@@ -26,7 +35,10 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {
Ok(m) => {
let mut messages = IndexMap::new();
for (message, message_user) in m {
- messages.insert(message.id, ArcMacawMessage::got_message_and_user(message, message_user).await);
+ messages.insert(
+ message.id,
+ ArcMacawMessage::got_message_and_user(message, message_user).await,
+ );
}
load_set_messages.set(messages);
}
@@ -54,30 +66,16 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {
debug!("got new message in let message buffer");
let mut messages = load_new_messages_set.write();
if let Some((_, last)) = messages.last() {
- if *last.get()
- .timestamp()
- .read()
- < *new_message.get()
- .timestamp()
- .read()
- {
- messages.insert(
- new_message.get()
- .id()
- .get(),
- new_message,
- );
+ if *last.get().timestamp().read() < *new_message.get().timestamp().read() {
+ messages.insert(new_message.get().id().get(), new_message);
debug!("set the new message in message buffer");
} else {
let index = match messages.binary_search_by(|_, value| {
- value.get()
+ value
+ .get()
.timestamp()
.read()
- .cmp(
- &new_message.get()
- .timestamp()
- .read(),
- )
+ .cmp(&new_message.get().timestamp().read())
}) {
Ok(i) => i,
Err(i) => i,
@@ -85,21 +83,13 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {
messages.insert_before(
// TODO: check if this logic is correct
index,
-
- new_message.get()
- .id()
- .get(),
+ new_message.get().id().get(),
new_message,
);
debug!("set the new message in message buffer");
}
} else {
- messages.insert(
- new_message.get()
- .id()
- .get(),
- new_message,
- );
+ messages.insert(new_message.get().id().get(), new_message);
debug!("set the new message in message buffer");
}
}
@@ -120,11 +110,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {
.get()
.into_iter()
.map(|(id, message)| {
- let message_timestamp =
- message.message.get()
- .timestamp()
- .read()
- .naive_local();
+ let message_timestamp = message.message.get().timestamp().read().naive_local();
// TODO: mark new day
// if message_timestamp.date() > last_timestamp.date() {
// messages_view = messages_view.push(date(message_timestamp.date()));
@@ -136,11 +122,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {
} else {
false
};
- last_user = Some(
- message.get()
- .from()
- .get(),
- );
+ last_user = Some(message.get().from().get());
last_timestamp = message_timestamp;
(id, (message, major, false))
})
@@ -159,4 +141,3 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView {
</div>
}
}
-