Parcourir la source

Display unavailable quotes

Zed il y a 7 ans
Parent
commit
b708c78c42
4 fichiers modifiés avec 14 ajouts et 0 suppressions
  1. 4 0
      public/style.css
  2. 3 0
      src/parser.nim
  3. 1 0
      src/types.nim
  4. 6 0
      src/views/tweet.nimf

+ 4 - 0
public/style.css

@@ -770,6 +770,10 @@ video {
     background-color: #121212;
 }
 
+.unavailable-quote {
+    padding: 8px;
+}
+
 .quote {
     margin-top: 10px;
     border: solid 1px #404040;

+ 3 - 0
src/parser.nim

@@ -45,6 +45,7 @@ proc parseQuote*(quote: XmlNode): Quote =
     text:  getQuoteText(quote),
     reply: parseTweetReply(quote),
     hasThread: quote.select(".self-thread-context") != nil,
+    available: true
   )
 
   result.profile = Profile(
@@ -85,6 +86,8 @@ proc parseTweet*(node: XmlNode): Tweet =
   let quote = tweet.select(".QuoteTweet-innerContainer")
   if quote != nil:
     result.quote = some(parseQuote(quote))
+  elif tweet.select(".Tombstone") != nil:
+    result.quote = some(Quote())
 
 proc parseThread*(nodes: XmlNode): Thread =
   if nodes == nil: return

+ 1 - 0
src/types.nim

@@ -76,6 +76,7 @@ type
     reply*: seq[string]
     hasThread*: bool
     sensitive*: bool
+    available*: bool
     thumb*: string
     badge*: string
 

+ 6 - 0
src/views/tweet.nimf

@@ -119,6 +119,12 @@
 #
 #proc renderQuote(quote: Quote): string =
 #let hasMedia = quote.thumb.len > 0 or quote.sensitive
+#if not quote.available:
+<div class="quote unavailable">
+  <div class="unavailable-quote">This tweet is unavailable</div>
+</div>
+#return
+#end if
 <div class="quote">
   <div class="quote-container">
     <a class="quote-link" href="${getLink(quote)}"></a>