committed by
Daniel D’Aquino
parent
28a06af534
commit
475940aa01
@@ -218,13 +218,13 @@ struct EventActionBar: View {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var event_relay_url_strings: [String] {
|
var event_relay_url_strings: [RelayURL] {
|
||||||
let relays = damus_state.nostrNetwork.relaysForEvent(event: event)
|
let relays = damus_state.nostrNetwork.relaysForEvent(event: event)
|
||||||
if !relays.isEmpty {
|
if !relays.isEmpty {
|
||||||
return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString }
|
return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
return userProfile.getCappedRelayStrings()
|
return userProfile.getCappedRelays()
|
||||||
}
|
}
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
|
|||||||
@@ -27,13 +27,13 @@ struct ShareAction: View {
|
|||||||
self._show_share = show_share
|
self._show_share = show_share
|
||||||
}
|
}
|
||||||
|
|
||||||
var event_relay_url_strings: [String] {
|
var event_relay_url_strings: [RelayURL] {
|
||||||
let relays = userProfile.damus.nostrNetwork.relaysForEvent(event: event)
|
let relays = userProfile.damus.nostrNetwork.relaysForEvent(event: event)
|
||||||
if !relays.isEmpty {
|
if !relays.isEmpty {
|
||||||
return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString }
|
return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
return userProfile.getCappedRelayStrings()
|
return userProfile.getCappedRelays()
|
||||||
}
|
}
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
@@ -49,7 +49,7 @@ struct ShareAction: View {
|
|||||||
|
|
||||||
ShareActionButton(img: "link", text: NSLocalizedString("Copy Link", comment: "Button to copy link to note")) {
|
ShareActionButton(img: "link", text: NSLocalizedString("Copy Link", comment: "Button to copy link to note")) {
|
||||||
dismiss()
|
dismiss()
|
||||||
UIPasteboard.general.string = "https://damus.io/" + Bech32Object.encode(.nevent(NEvent(event: event, relays: event_relay_url_strings)))
|
UIPasteboard.general.string = "https://damus.io/" + Bech32Object.encode(.nevent(NEvent(noteid: event.id, relays: userProfile.getCappedRelays())))
|
||||||
}
|
}
|
||||||
|
|
||||||
let bookmarkImg = isBookmarked ? "bookmark.fill" : "bookmark"
|
let bookmarkImg = isBookmarked ? "bookmark.fill" : "bookmark"
|
||||||
|
|||||||
@@ -64,13 +64,13 @@ struct MenuItems: View {
|
|||||||
self.profileModel = profileModel
|
self.profileModel = profileModel
|
||||||
}
|
}
|
||||||
|
|
||||||
var event_relay_url_strings: [String] {
|
var event_relay_url_strings: [RelayURL] {
|
||||||
let relays = damus_state.nostrNetwork.relaysForEvent(event: event)
|
let relays = damus_state.nostrNetwork.relaysForEvent(event: event)
|
||||||
if !relays.isEmpty {
|
if !relays.isEmpty {
|
||||||
return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString }
|
return relays.prefix(Constants.MAX_SHARE_RELAYS).map { $0 }
|
||||||
}
|
}
|
||||||
|
|
||||||
return profileModel.getCappedRelayStrings()
|
return profileModel.getCappedRelays()
|
||||||
}
|
}
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
@@ -82,7 +82,7 @@ struct MenuItems: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
UIPasteboard.general.string = Bech32Object.encode(.nprofile(NProfile(author: target_pubkey, relays: profileModel.getCappedRelayStrings())))
|
UIPasteboard.general.string = Bech32Object.encode(.nprofile(NProfile(author: target_pubkey, relays: profileModel.getCappedRelays())))
|
||||||
} label: {
|
} label: {
|
||||||
Label(NSLocalizedString("Copy user public key", comment: "Context menu option for copying the ID of the user who created the note."), image: "user")
|
Label(NSLocalizedString("Copy user public key", comment: "Context menu option for copying the ID of the user who created the note."), image: "user")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -920,7 +920,7 @@ func build_post(state: DamusState, post: NSAttributedString, action: PostAction,
|
|||||||
|
|
||||||
case .quoting(let ev):
|
case .quoting(let ev):
|
||||||
let relay_urls = state.nostrNetwork.relaysForEvent(event: ev)
|
let relay_urls = state.nostrNetwork.relaysForEvent(event: ev)
|
||||||
let nevent = Bech32Object.encode(.nevent(NEvent(event: ev, relays: relay_urls.prefix(4).map { $0.absoluteString })))
|
let nevent = Bech32Object.encode(.nevent(NEvent(event: ev, relays: relay_urls.prefix(4).map { $0 })))
|
||||||
content.append("\n\nnostr:\(nevent)")
|
content.append("\n\nnostr:\(nevent)")
|
||||||
|
|
||||||
if let first_relay = relay_urls.first?.absoluteString {
|
if let first_relay = relay_urls.first?.absoluteString {
|
||||||
|
|||||||
@@ -219,8 +219,8 @@ class ProfileModel: ObservableObject, Equatable {
|
|||||||
damus.nostrNetwork.pool.unsubscribe(sub_id: findRelay_subid)
|
damus.nostrNetwork.pool.unsubscribe(sub_id: findRelay_subid)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getCappedRelayStrings() -> [String] {
|
func getCappedRelays() -> [RelayURL] {
|
||||||
return self.relay_urls?.prefix(Constants.MAX_SHARE_RELAYS).map { $0.absoluteString } ?? []
|
return relay_list?.relays.keys.prefix(Constants.MAX_SHARE_RELAYS).map { $0 } ?? []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ struct NEvent : Equatable, Hashable {
|
|||||||
self.kind = kind
|
self.kind = kind
|
||||||
}
|
}
|
||||||
|
|
||||||
init(event: NostrEvent, relays: [String]) {
|
init(event: NostrEvent, relays: [RelayURL]) {
|
||||||
self.init(noteid: event.id, relays: relays, author: event.pubkey, kind: event.kind)
|
self.init(noteid: event.id, relays: relays, author: event.pubkey, kind: event.kind)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,7 +169,8 @@ class Bech32ObjectTests: XCTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func testTLVEncoding_NeventFromNostrEvent_ValidContent() throws {
|
func testTLVEncoding_NeventFromNostrEvent_ValidContent() throws {
|
||||||
let relays = ["wss://relay.damus.io", "wss://relay.nostr.band"]
|
let relay_strings = ["wss://relay.damus.io", "wss://relay.nostr.band"]
|
||||||
|
let relays = relay_strings.map({ RelayURL($0)! })
|
||||||
let nevent = NEvent(event: test_note, relays: relays)
|
let nevent = NEvent(event: test_note, relays: relays)
|
||||||
|
|
||||||
XCTAssertEqual(nevent.noteid, test_note.id)
|
XCTAssertEqual(nevent.noteid, test_note.id)
|
||||||
|
|||||||
Reference in New Issue
Block a user