From 3302bdedebb734d9b7306bb361c2aa9168a527d7 Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Wed, 7 May 2025 02:16:38 +0100 Subject: feat: filesmem base64 img srcs --- src/lib.rs | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index d45bfc3..0be757e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -11,6 +11,7 @@ use std::{ time::{self, Duration}, }; +use base64::{prelude::BASE64_STANDARD, Engine}; use chrono::{NaiveDateTime, TimeDelta}; use filamento::{ chat::{Body, Chat, ChatStoreFields, Delivery, Message, MessageStoreFields}, db::Db, error::{CommandError, ConnectionError, DatabaseError}, files::FilesMem, roster::{Contact, ContactStoreFields}, user::{User, UserStoreFields}, UpdateMessage @@ -342,6 +343,7 @@ pub fn open_chat(open_chats: Store, chat: MacawChat) { impl OpenChatsPanel { pub fn open(&mut self, chat: MacawChat) { if let Some(jid) = &mut self.chat_view { + debug!("a chat was already open"); if let Some((index, _jid, entry)) = self.chats.shift_remove_full(jid) { let new_jid = chat.chat.correspondent().read().clone(); self.chats.insert_before(index, new_jid.clone(), chat); @@ -356,6 +358,7 @@ impl OpenChatsPanel { self.chats.insert(new_jid.clone(), chat); *&mut self.chat_view = Some(new_jid); } + debug!("opened chat"); } // TODO: @@ -505,13 +508,15 @@ pub fn OpenChatView(chat: MacawChat) -> impl IntoView { #[component] pub fn ChatViewHeader(chat: MacawChat) -> impl IntoView { let chat_user = *chat.user; - let avatar = move || get_avatar(chat_user); + let avatar = LocalResource::new(move || get_avatar(chat_user)); let name = move || get_name(chat_user); let jid = move || chat_user.jid().read().to_string(); view! {
- + } > + +