diff --git a/src/parser.nim b/src/parser.nim index ac26443..a6d030e 100644 --- a/src/parser.nim +++ b/src/parser.nim @@ -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: diff --git a/src/types.nim b/src/types.nim index dadb88c..de15075 100644 --- a/src/types.nim +++ b/src/types.nim @@ -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] diff --git a/src/views/tweet.nimf b/src/views/tweet.nimf index bcee4ab..7ff9603 100644 --- a/src/views/tweet.nimf +++ b/src/views/tweet.nimf @@ -3,9 +3,9 @@ #import ../types, ../formatters, ../utils # #proc renderHeading(tweet: Tweet): string = -#if tweet.retweetBy.isSome: +#if tweet.retweet.isSome: