Change to use retweet text for plain text when available.

This commit is contained in:
Maurice Parker 2020-04-17 15:02:52 -05:00
parent 2d61798457
commit 435c85218d
2 changed files with 5 additions and 2 deletions

View File

@ -8,7 +8,7 @@
import Foundation
struct Tweet: Codable {
final class Tweet: Codable {
let createdAt: Date?
let idStr: String?
@ -17,6 +17,7 @@ struct Tweet: Codable {
let user: TwitterUser
let truncated: Bool
let retweeted: Bool
let retweetedStatus: Tweet?
enum CodingKeys: String, CodingKey {
case createdAt = "created_at"
@ -26,6 +27,7 @@ struct Tweet: Codable {
case user = "user"
case truncated = "truncated"
case retweeted = "retweeted"
case retweetedStatus = "retweeted_status"
}
}

View File

@ -283,7 +283,8 @@ private extension TwitterFeedProvider {
}
func makeTweetText(_ tweet: Tweet) -> String? {
if let text = tweet.fullText, let displayRange = tweet.displayTextRange, displayRange.count > 1,
let tweetToUse = tweet.retweetedStatus != nil ? tweet.retweetedStatus! : tweet
if let text = tweetToUse.fullText, let displayRange = tweetToUse.displayTextRange, displayRange.count > 1,
let startIndex = text.index(text.startIndex, offsetBy: displayRange[0], limitedBy: text.endIndex),
let endIndex = text.index(text.startIndex, offsetBy: displayRange[1], limitedBy: text.endIndex) {
return String(text[startIndex..<endIndex])