commit 7bf18336d023f7ad1ea3043f4a0134d0af5c9c3c
parent b131c74ee367a8c12fda70cce555eeeb22aeaf60
Author: William Casarin <jb55@jb55.com>
Date: Wed, 5 Apr 2023 13:12:56 -0700
Fix extraneous padding on some image posts
Changelog-Fixed: Fix extraneous padding on some image posts
Diffstat:
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/damus/Views/NoteContentView.swift b/damus/Views/NoteContentView.swift
@@ -260,7 +260,10 @@ func render_blocks(blocks: [Block], profiles: Profiles, privkey: String?) -> Not
.filter({ $0.is_note_mention })
.count == 1
+ var ind: Int = -1
let txt: AttributedString = blocks.reduce("") { str, block in
+ ind = ind + 1
+
switch block {
case .mention(let m):
if m.type == .event && one_note_ref {
@@ -268,7 +271,14 @@ func render_blocks(blocks: [Block], profiles: Profiles, privkey: String?) -> Not
}
return str + mention_str(m, profiles: profiles)
case .text(let txt):
- return str + AttributedString(stringLiteral: txt)
+ var trimmed = txt
+ if let prev = blocks[safe: ind-1], case .url(let u) = prev, is_image_url(u) {
+ trimmed = " " + trim_prefix(trimmed)
+ }
+ if let next = blocks[safe: ind+1], case .url(let u) = next, is_image_url(u) {
+ trimmed = trim_suffix(trimmed)
+ }
+ return str + AttributedString(stringLiteral: trimmed)
case .hashtag(let htag):
return str + hashtag_str(htag)
case .invoice(let invoice):