Fix loading more tweets when last one is a retweet

This commit is contained in:
Zed 2019-06-24 04:41:23 +02:00
parent 2c2d2c767e
commit 8f7c61eab6
3 changed files with 6 additions and 3 deletions

View file

@ -70,6 +70,7 @@ proc parseTweet*(tweet: XmlNode): Tweet =
let by = tweet.selectText(".js-retweet-text > a > b")
if by.len > 0:
result.retweetBy = some(by)
result.retweetId = some(tweet.getAttr("data-retweet-id"))
proc parseTweets*(node: XmlNode): Tweets =
if node.isNil: return

View file

@ -47,6 +47,7 @@ type
gif*: Option[string]
video*: Option[string]
videoThumb*: Option[string]
retweetId*: Option[string]
Tweets* = seq[Tweet]

View file

@ -72,14 +72,15 @@
#var retweets: Tweets
#for tweet in tweets:
#if tweet in retweets: continue
#end if
#if tweet.retweetBy.isSome: retweets.add tweet
#elif tweet.retweetBy.isSome: retweets.add tweet
#end if
${renderTweet(tweet, "timeline-tweet")}
#end for
#if tweets.len > 0:
<div class="show-more">
<a href="/${profile.username}?after=${$tweets[^1].id}">Load older tweets</a>
#let retweet = tweets[^1].retweetId.get("")
#let id = if retweet.len > 0: retweet else: tweets[^1].id
<a href="/${profile.username}?after=${$id}">Load older tweets</a>
</div>
#end if
</div>