From f1529077d78635ef549eec37d850b76ed6777bb2 Mon Sep 17 00:00:00 2001 From: Zed Date: Tue, 22 Oct 2019 09:17:58 +0200 Subject: [PATCH] Focus main tweet in threads --- src/api/media.nim | 6 +++--- src/formatters.nim | 5 +++-- src/sass/tweet/thread.scss | 5 +++++ src/views/status.nim | 2 +- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/api/media.nim b/src/api/media.nim index a010985..3ff74a0 100644 --- a/src/api/media.nim +++ b/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) diff --git a/src/formatters.nim b/src/formatters.nim index 1e2d084..d79bacf 100644 --- a/src/formatters.nim +++ b/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'}) diff --git a/src/sass/tweet/thread.scss b/src/sass/tweet/thread.scss index e992ba9..0681797 100644 --- a/src/sass/tweet/thread.scss +++ b/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; } diff --git a/src/views/status.nim b/src/views/status.nim index 821fb76..c62b472 100644 --- a/src/views/status.nim +++ b/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)