Minor retweet refactor

This commit is contained in:
Zed 2019-07-01 23:22:00 +02:00
parent 9b07199901
commit c60280415e
4 changed files with 12 additions and 7 deletions

View file

@ -73,8 +73,10 @@ proc parseTweet*(node: XmlNode): Tweet =
let by = tweet.selectText(".js-retweet-text > a > b")
if by.len > 0:
result.retweetBy = some(by.stripText())
result.retweetId = some(tweet.attr("data-retweet-id"))
result.retweet = some(Retweet(
by: stripText(by),
id: tweet.attr("data-retweet-id")
))
let quote = tweet.select(".QuoteTweet-innerContainer")
if quote != nil:

View file

@ -62,6 +62,10 @@ type
thumb*: Option[string]
badge*: Option[string]
Retweet* = object
by*: string
id*: string
Tweet* = ref object
id*: string
profile*: Profile
@ -72,9 +76,8 @@ type
retweets*: string
likes*: string
pinned*: bool
retweet*: Option[Retweet]
quote*: Option[Quote]
retweetBy*: Option[string]
retweetId*: Option[string]
gif*: Option[Gif]
video*: Option[Video]
photos*: seq[string]

View file

@ -3,9 +3,9 @@
#import ../types, ../formatters, ../utils
#
#proc renderHeading(tweet: Tweet): string =
#if tweet.retweetBy.isSome:
#if tweet.retweet.isSome:
<div class="retweet">
<span>🔄 ${tweet.retweetBy.get()} retweeted</span>
<span>🔄 ${get(tweet.retweet).by} retweeted</span>
</div>
#end if
#if tweet.pinned:

View file

@ -61,7 +61,7 @@
#
#for tweet in timeline.tweets:
#if tweet.id in retweets: continue
#elif tweet.retweetBy.isSome: retweets.add tweet.id
#elif tweet.retweet.isSome: retweets.add tweet.id
#end if
${renderTweet(tweet, "timeline-tweet")}
#end for