html and css updates
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import uri
|
||||
import karax/[karaxdsl, vdom]
|
||||
|
||||
import ".."/[types, formatters]
|
||||
@@ -13,7 +14,7 @@ proc renderMoreReplies(thread: Chain): VNode =
|
||||
let reply = if thread.more == 1: "reply" else: "replies"
|
||||
let link = getLink(thread.content[^1])
|
||||
buildHtml(tdiv(class="timeline-item more-replies")):
|
||||
if link.len > 0:
|
||||
if thread.content[^1].available:
|
||||
a(class="more-replies-text", href=link):
|
||||
text $num & "more " & reply
|
||||
else:
|
||||
@@ -32,41 +33,45 @@ proc renderReplyThread(thread: Chain; prefs: Prefs; path: string): VNode =
|
||||
proc renderReplies*(replies: Result[Chain]; prefs: Prefs; path: string): VNode =
|
||||
buildHtml(tdiv(class="replies", id="r")):
|
||||
for thread in replies.content:
|
||||
if thread == nil: continue
|
||||
if thread.content.len == 0: continue
|
||||
renderReplyThread(thread, prefs, path)
|
||||
|
||||
if replies.hasMore:
|
||||
renderMore(Query(), replies.minId, focus="#r")
|
||||
if replies.bottom.len > 0:
|
||||
renderMore(Query(), encodeUrl(replies.bottom), focus="#r")
|
||||
|
||||
proc renderConversation*(conversation: Conversation; prefs: Prefs; path: string): VNode =
|
||||
let hasAfter = conversation.after != nil
|
||||
let showReplies = not prefs.hideReplies
|
||||
proc renderConversation*(conv: Conversation; prefs: Prefs; path: string): VNode =
|
||||
let hasAfter = conv.after.content.len > 0
|
||||
let threadId = conv.tweet.threadId
|
||||
buildHtml(tdiv(class="conversation")):
|
||||
tdiv(class="main-thread"):
|
||||
if conversation.before != nil:
|
||||
if conv.before.content.len > 0:
|
||||
tdiv(class="before-tweet thread-line"):
|
||||
if conversation.before.more == -1:
|
||||
renderEarlier(conversation.before)
|
||||
for i, tweet in conversation.before.content:
|
||||
let first = conv.before.content[0]
|
||||
if threadId != first.id and (first.replyId > 0 or not first.available):
|
||||
renderEarlier(conv.before)
|
||||
for i, tweet in conv.before.content:
|
||||
renderTweet(tweet, prefs, path, index=i)
|
||||
|
||||
tdiv(class="main-tweet", id="m"):
|
||||
let afterClass = if hasAfter: "thread thread-line" else: ""
|
||||
renderTweet(conversation.tweet, prefs, path, class=afterClass,
|
||||
mainTweet=true)
|
||||
renderTweet(conv.tweet, prefs, path, class=afterClass, mainTweet=true)
|
||||
|
||||
if hasAfter:
|
||||
tdiv(class="after-tweet thread-line"):
|
||||
let total = conversation.after.content.high
|
||||
let more = conversation.after.more
|
||||
for i, tweet in conversation.after.content:
|
||||
renderTweet(tweet, prefs, path, index=i, last=(i == total and more == 0))
|
||||
let
|
||||
total = conv.after.content.high
|
||||
more = conv.after.more
|
||||
for i, tweet in conv.after.content:
|
||||
renderTweet(tweet, prefs, path, index=i,
|
||||
last=(i == total and more == 0), afterTweet=true)
|
||||
|
||||
if more != 0:
|
||||
renderMoreReplies(conversation.after)
|
||||
renderMoreReplies(conv.after)
|
||||
|
||||
if conversation.replies != nil and showReplies:
|
||||
if not conversation.replies.beginning:
|
||||
renderNewer(Query(), getLink(conversation.tweet))
|
||||
if conversation.replies.content.len > 0:
|
||||
renderReplies(conversation.replies, prefs, path)
|
||||
if not prefs.hideReplies:
|
||||
if not conv.replies.beginning:
|
||||
renderNewer(Query(), getLink(conv.tweet), focus="#r")
|
||||
if conv.replies.content.len > 0 or conv.replies.bottom.len > 0:
|
||||
renderReplies(conv.replies, prefs, path)
|
||||
|
||||
renderToTop(focus="#m")
|
||||
|
||||
Reference in New Issue
Block a user