diff --git a/src-tauri/src/commands.rs b/src-tauri/src/commands/mod.rs similarity index 100% rename from src-tauri/src/commands.rs rename to src-tauri/src/commands/mod.rs diff --git a/src-tauri/src/nostr/metadata.rs b/src-tauri/src/nostr/metadata.rs index f415093f..8cc5deed 100644 --- a/src-tauri/src/nostr/metadata.rs +++ b/src-tauri/src/nostr/metadata.rs @@ -1,3 +1,4 @@ +use super::get_latest_event; use crate::Nostr; use keyring::Entry; use nostr_sdk::prelude::*; @@ -88,7 +89,7 @@ pub async fn get_current_user_profile(state: State<'_, Nostr>) -> Result { - if let Some(event) = events.first() { + if let Some(event) = get_latest_event(&events) { if let Ok(metadata) = Metadata::from_json(&event.content) { Ok(metadata.as_json()) } else { diff --git a/src-tauri/src/nostr.rs b/src-tauri/src/nostr/mod.rs similarity index 58% rename from src-tauri/src/nostr.rs rename to src-tauri/src/nostr/mod.rs index 7dc1f87f..cd35415b 100644 --- a/src-tauri/src/nostr.rs +++ b/src-tauri/src/nostr/mod.rs @@ -2,3 +2,5 @@ pub mod event; pub mod keys; pub mod metadata; pub mod relay; +mod utils; +pub use utils::get_latest_event; diff --git a/src-tauri/src/nostr/utils.rs b/src-tauri/src/nostr/utils.rs new file mode 100644 index 00000000..e5e18fa3 --- /dev/null +++ b/src-tauri/src/nostr/utils.rs @@ -0,0 +1,5 @@ +use nostr_sdk::Event; + +pub fn get_latest_event(events: &[Event]) -> Option<&Event> { + events.iter().max_by_key(|event| event.created_at()) +}