Quellcode durchsuchen

Focus main tweet in threads

Zed vor 6 Jahren
Ursprung
Commit
f1529077d7
4 geänderte Dateien mit 12 neuen und 6 gelöschten Zeilen
  1. 3 3
      src/api/media.nim
  2. 3 2
      src/formatters.nim
  3. 5 0
      src/sass/tweet/thread.scss
  4. 1 1
      src/views/status.nim

+ 3 - 3
src/api/media.nim

@@ -67,7 +67,7 @@ proc getVideoFetch(tweet: Tweet; agent, token: string) {.async.} =
 
   let
     headers = genHeaders({"authorization": auth, "x-guest-token": token},
-                         agent, base / getLink(tweet), lang=false)
+                         agent, base / getLink(tweet, focus=false), lang=false)
     url = apiBase / (videoUrl % $tweet.id)
     json = await fetchJson(url, headers)
 
@@ -105,7 +105,7 @@ proc getPoll*(tweet: Tweet; agent: string) {.async.} =
   if tweet.poll.isNone(): return
 
   let
-    headers = genHeaders(agent, base / getLink(tweet), auth=true)
+    headers = genHeaders(agent, base / getLink(tweet, focus=false), auth=true)
     url = base / (pollUrl % $tweet.id)
     html = await fetchHtml(url, headers)
 
@@ -116,7 +116,7 @@ proc getCard*(tweet: Tweet; agent: string) {.async.} =
   if tweet.card.isNone(): return
 
   let
-    headers = genHeaders(agent, base / getLink(tweet), auth=true)
+    headers = genHeaders(agent, base / getLink(tweet, focus=false), auth=true)
     query = get(tweet.card).query.replace("sensitive=true", "sensitive=false")
     html = await fetchHtml(base / query, headers)
 

+ 3 - 2
src/formatters.nim

@@ -76,9 +76,10 @@ proc getRfc822Time*(tweet: Tweet): string =
 proc getTweetTime*(tweet: Tweet): string =
   tweet.time.format("h:mm tt' · 'MMM d', 'YYYY")
 
-proc getLink*(tweet: Tweet | Quote): string =
+proc getLink*(tweet: Tweet | Quote; focus=true): string =
   if tweet.id == 0: return
-  &"/{tweet.profile.username}/status/{tweet.id}"
+  result = &"/{tweet.profile.username}/status/{tweet.id}"
+  if focus: result &= "#m"
 
 proc getTombstone*(text: string): string =
   text.replace(re"\n* *Learn more", "").stripText().strip(chars={' ', '\n'})

+ 5 - 0
src/sass/tweet/thread.scss

@@ -14,6 +14,11 @@
     background-color: $bg_panel;
 }
 
+.main-tweet {
+    padding-top: 50px;
+    margin-top: -50px;
+}
+
 .main-tweet .tweet-content {
     font-size: 20px;
 }

+ 1 - 1
src/views/status.nim

@@ -33,7 +33,7 @@ proc renderConversation*(conversation: Conversation; prefs: Prefs; path: string)
           for i, tweet in conversation.before.content:
             renderTweet(tweet, prefs, path, index=i)
 
-      tdiv(class="main-tweet"):
+      tdiv(class="main-tweet", id="m"):
         let afterClass = if hasAfter: "thread thread-line" else: ""
         renderTweet(conversation.tweet, prefs, path, class=afterClass,
                     mainTweet=true)