summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2025-05-10 11:56:30 +0100
committerLibravatar cel 🌸 <cel@bunny.garden>2025-05-10 11:56:30 +0100
commitb02e0443050a8def03500bc8bf6729b9c03aebfd (patch)
treec97675a547af0c4c8b6263c6598e0d7d58f98c47 /src
parentd7990fcda22323ad0de3535c33c601d22457e69f (diff)
downloadmacaw-web-b02e0443050a8def03500bc8bf6729b9c03aebfd.tar.gz
macaw-web-b02e0443050a8def03500bc8bf6729b9c03aebfd.tar.bz2
macaw-web-b02e0443050a8def03500bc8bf6729b9c03aebfd.zip
chore: update leptos to 0.8.2scale
Diffstat (limited to 'src')
-rw-r--r--src/lib.rs18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/lib.rs b/src/lib.rs
index c994a57..4c481aa 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;
@@ -484,7 +482,7 @@ impl OpenChatsPanel {
#[derive(Store)]
pub struct UserPresences {
#[store(key: JID = |(jid, _)| jid.clone())]
- user_presences: HashMap<JID, RwSignal<Presences>>,
+ user_presences: HashMap<JID, ArcRwSignal<Presences>>,
}
impl UserPresences {
@@ -495,13 +493,13 @@ impl UserPresences {
}
// TODO: should be a bare jid
- pub fn get_user_presences(&mut self, user: &JID) -> RwSignal<Presences> {
+ pub fn get_user_presences(&mut self, user: &JID) -> ArcRwSignal<Presences> {
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
}
}
@@ -671,7 +669,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));
}
}
}
@@ -859,7 +857,7 @@ pub fn AvatarWithPresence(user: RwSignal<User>) -> impl IntoView {
view! {
<Transition fallback=|| view! { <img class="avatar" src=NO_AVATAR /> } >
<div class="avatar-with-presence">
- <img class="avatar" src=move || avatar.read().as_deref().map(|avatar| avatar.clone()).unwrap_or_default() />
+ <img class="avatar" src=move || avatar.get() />
{move || if let Some(icon) = show_icon() {
view!{
<IconComponent icon=icon class:presence-show-icon=true />
@@ -1191,7 +1189,7 @@ pub fn Message(message: MacawMessage, major: bool, r#final: bool) -> impl IntoVi
<div class:final=r#final class="chat-message major">
<div class="left">
<Transition fallback=|| view! { <img class="avatar" src=NO_AVATAR /> } >
- <img class="avatar" src=move || avatar.read().as_deref().map(|avatar| avatar.clone()).unwrap_or_default() />
+ <img class="avatar" src=move || avatar.get() />
</Transition>
</div>
<div class="middle">