fix ordering on search, copy note
Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
@@ -41,7 +41,7 @@ class SearchModel: ObservableObject {
|
||||
return
|
||||
}
|
||||
|
||||
if insert_uniq_sorted_event(events: &self.events, new_ev: ev) {
|
||||
if insert_uniq_sorted_event(events: &self.events, new_ev: ev, cmp: { $0.created_at > $1.created_at } ) {
|
||||
objectWillChange.send()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -140,7 +140,7 @@ class ThreadModel: ObservableObject {
|
||||
self.replies.add(id: ev.id, reply_id: reply.ref_id)
|
||||
}
|
||||
|
||||
if insert_uniq_sorted_event(events: &self.events, new_ev: ev) {
|
||||
if insert_uniq_sorted_event(events: &self.events, new_ev: ev, cmp: { $0.created_at < $1.created_at }) {
|
||||
objectWillChange.send()
|
||||
}
|
||||
//self.events.append(ev)
|
||||
|
||||
@@ -354,3 +354,14 @@ func gather_reply_ids(our_pubkey: String, from: NostrEvent) -> [ReferencedId] {
|
||||
}
|
||||
return ids
|
||||
}
|
||||
|
||||
func event_to_json(ev: NostrEvent) -> String {
|
||||
let encoder = JSONEncoder()
|
||||
guard let res = try? encoder.encode(ev) else {
|
||||
return "{}"
|
||||
}
|
||||
guard let str = String(data: res, encoding: .utf8) else {
|
||||
return "{}"
|
||||
}
|
||||
return str
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import Foundation
|
||||
|
||||
|
||||
func insert_uniq_sorted_event(events: inout [NostrEvent], new_ev: NostrEvent) -> Bool {
|
||||
func insert_uniq_sorted_event(events: inout [NostrEvent], new_ev: NostrEvent, cmp: (NostrEvent, NostrEvent) -> Bool) -> Bool {
|
||||
var i: Int = 0
|
||||
|
||||
for event in events {
|
||||
@@ -17,7 +17,7 @@ func insert_uniq_sorted_event(events: inout [NostrEvent], new_ev: NostrEvent) ->
|
||||
return false
|
||||
}
|
||||
|
||||
if new_ev.created_at < event.created_at {
|
||||
if cmp(new_ev, event) {
|
||||
events.insert(new_ev, at: i)
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ struct EventView: View {
|
||||
Button {
|
||||
UIPasteboard.general.string = event.content
|
||||
} label: {
|
||||
Label("Copy", systemImage: "doc.on.doc")
|
||||
Label("Copy Text", systemImage: "doc.on.doc")
|
||||
}
|
||||
|
||||
Button {
|
||||
@@ -104,6 +104,12 @@ struct EventView: View {
|
||||
Label("Copy ID", systemImage: "tag")
|
||||
}
|
||||
|
||||
Button {
|
||||
UIPasteboard.general.string = event_to_json(ev: event)
|
||||
} label: {
|
||||
Label("Copy Note", systemImage: "note")
|
||||
}
|
||||
|
||||
Button {
|
||||
NotificationCenter.default.post(name: .broadcast_event, object: event)
|
||||
} label: {
|
||||
|
||||
Reference in New Issue
Block a user