From cf6e64da8dfb78dd103727066fa494d79912fe2a Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Sat, 10 May 2025 05:12:31 +0100 Subject: chore: update leptos to 0.8.2 --- src/lib.rs | 66 +++++++++++++++++++++++++++++--------------------------------- 1 file changed, 31 insertions(+), 35 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 505a97d..194a8d9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -26,8 +26,6 @@ use leptos::{ tachys::{dom::document, reactive_graph::bind::GetValue}, task::{spawn, spawn_local}, }; -use leptos_meta::Stylesheet; -use leptos_use::{UseTextareaAutosizeReturn, use_textarea_autosize}; use reactive_stores::{ArcStore, Store, StoreField}; use stylance::import_style; use thiserror::Error; @@ -485,7 +483,7 @@ impl OpenChatsPanel { #[derive(Store)] pub struct UserPresences { #[store(key: JID = |(jid, _)| jid.clone())] - user_presences: HashMap>, + user_presences: HashMap>, } impl UserPresences { @@ -496,13 +494,13 @@ impl UserPresences { } // TODO: should be a bare jid - pub fn get_user_presences(&mut self, user: &JID) -> RwSignal { + pub fn get_user_presences(&mut self, user: &JID) -> ArcRwSignal { if let Some(presences) = self.user_presences.get(user) { - *presences + presences.clone() } else { let presences = Presences::new(); - let signal = RwSignal::new(presences); - self.user_presences.insert(user.clone(), signal); + let signal = ArcRwSignal::new(presences); + self.user_presences.insert(user.clone(), signal.clone()); signal } } @@ -670,7 +668,7 @@ fn Macaw( if let Some(resource) = from.resourcepart { let mut presences = Presences::new(); presences.update_presence(resource, presence); - user_presences.write().user_presences.insert(bare_jid, RwSignal::new(presences)); + user_presences.write().user_presences.insert(bare_jid, ArcRwSignal::new(presences)); } } } @@ -680,7 +678,7 @@ fn Macaw( debug!("after got message"); spawn_local(async move { message_subscriptions - .write_untracked() + .write() .broadcast(to, new_message) .await }); @@ -857,18 +855,16 @@ pub fn AvatarWithPresence(user: Store) -> impl IntoView { }).unwrap_or_default(); view! { - } > -
- - {move || if let Some(icon) = show_icon() { - view!{ - - }.into_any() - } else { - view! {}.into_any() - }} -
-
+
+ + {move || if let Some(icon) = show_icon() { + view!{ + + }.into_any() + } else { + view! {}.into_any() + }} +
} } @@ -903,7 +899,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView { async move { let client = use_context::().expect("client not in context"); let messages = client - .get_messages_with_users(chat_chat.correspondent().get_untracked()) + .get_messages_with_users(chat_chat.correspondent().get()) .await .map_err(|e| e.to_string()); match messages { @@ -937,7 +933,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView { load_messages.await; let (sub_id, mut new_messages) = new_messages_signal .write() - .subscribe_chat(chat_chat.correspondent().get_untracked()); + .subscribe_chat(chat_chat.correspondent().get()); set_sub_id.set(Some(sub_id)); while let Some(new_message) = new_messages.recv().await { debug!("got new message in let message buffer"); @@ -945,17 +941,17 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView { if let Some((_, last)) = messages.last() { if * as Clone>::clone(&last.message) .timestamp() - .read_untracked() + .read() < * as Clone>::clone(&new_message) .timestamp() - .read_untracked() + .read() { messages.insert( as Clone>::clone( &new_message.message, ) .id() - .get_untracked(), + .get(), new_message, ); debug!("set the new message in message buffer"); @@ -963,13 +959,13 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView { let index = match messages.binary_search_by(|_, value| { as Clone>::clone(&value.message) .timestamp() - .read_untracked() + .read() .cmp( & as Clone>::clone( &new_message.message, ) .timestamp() - .read_untracked(), + .read(), ) }) { Ok(i) => i, @@ -982,7 +978,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView { &new_message.message, ) .id() - .get_untracked(), + .get(), new_message, ); debug!("set the new message in message buffer"); @@ -991,7 +987,7 @@ pub fn MessageHistoryBuffer(chat: MacawChat) -> impl IntoView { messages.insert( as Clone>::clone(&new_message.message) .id() - .get_untracked(), + .get(), new_message, ); debug!("set the new message in message buffer"); @@ -1191,7 +1187,7 @@ pub fn Message(message: MacawMessage, major: bool, r#final: bool) -> impl IntoVi
} > - +
@@ -1233,11 +1229,11 @@ pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView { let value = chat.clone(); spawn_local(async move { match client - .read_untracked() + .read() .send_message( value, Body { - body: new_message.get_untracked(), + body: new_message.get(), }, ) .await @@ -1245,7 +1241,7 @@ pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView { Ok(_) => { new_message.set("".to_string()); message_input - .write_untracked() + .write() .as_ref() .expect("message input div not mounted") .set_text_content(Some("")); @@ -1288,7 +1284,7 @@ pub fn ChatViewMessageComposer(chat: JID) -> impl IntoView { on:keydown=move |ev| { match ev.key_code() { 16 => set_shift_pressed.set(true), - 13 => if !shift_pressed.get_untracked() { + 13 => if !shift_pressed.get() { ev.prevent_default(); send_message(); } -- cgit