Don't render @note link if there is only one
This commit is contained in:
@@ -94,6 +94,14 @@ enum Block {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var is_note_mention: Bool {
|
||||||
|
guard case .mention(let mention) = self else {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
return mention.type == .event
|
||||||
|
}
|
||||||
|
|
||||||
var is_mention: Bool {
|
var is_mention: Bool {
|
||||||
if case .mention = self {
|
if case .mention = self {
|
||||||
return true
|
return true
|
||||||
|
|||||||
@@ -204,6 +204,7 @@ struct NoteArtifacts {
|
|||||||
|
|
||||||
func render_note_content(ev: NostrEvent, profiles: Profiles, privkey: String?) -> NoteArtifacts {
|
func render_note_content(ev: NostrEvent, profiles: Profiles, privkey: String?) -> NoteArtifacts {
|
||||||
let blocks = ev.blocks(privkey)
|
let blocks = ev.blocks(privkey)
|
||||||
|
|
||||||
return render_blocks(blocks: blocks, profiles: profiles, privkey: privkey)
|
return render_blocks(blocks: blocks, profiles: profiles, privkey: privkey)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -211,9 +212,17 @@ func render_blocks(blocks: [Block], profiles: Profiles, privkey: String?) -> Not
|
|||||||
var invoices: [Invoice] = []
|
var invoices: [Invoice] = []
|
||||||
var img_urls: [URL] = []
|
var img_urls: [URL] = []
|
||||||
var link_urls: [URL] = []
|
var link_urls: [URL] = []
|
||||||
|
|
||||||
|
let one_note_ref = blocks
|
||||||
|
.filter({ $0.is_note_mention })
|
||||||
|
.count == 1
|
||||||
|
|
||||||
let txt: AttributedString = blocks.reduce("") { str, block in
|
let txt: AttributedString = blocks.reduce("") { str, block in
|
||||||
switch block {
|
switch block {
|
||||||
case .mention(let m):
|
case .mention(let m):
|
||||||
|
if m.type == .event && one_note_ref {
|
||||||
|
return str
|
||||||
|
}
|
||||||
return str + mention_str(m, profiles: profiles)
|
return str + mention_str(m, profiles: profiles)
|
||||||
case .text(let txt):
|
case .text(let txt):
|
||||||
return str + AttributedString(stringLiteral: txt)
|
return str + AttributedString(stringLiteral: txt)
|
||||||
|
|||||||
@@ -42,10 +42,10 @@ struct InnerTimelineView: View {
|
|||||||
nav_target = ev.inner_event ?? ev
|
nav_target = ev.inner_event ?? ev
|
||||||
navigating = true
|
navigating = true
|
||||||
}
|
}
|
||||||
.padding(.top, 5)
|
.padding(.top, 7)
|
||||||
|
|
||||||
Divider()
|
Divider()
|
||||||
.padding([.top], 5)
|
.padding([.top], 7)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user