mirror of
https://github.com/zedeus/nitter.git
synced 2024-06-10 09:09:21 +00:00
Change layout of home timeline to match lists
This commit is contained in:
parent
d2756e60d3
commit
fef03ac70f
|
@ -1,6 +1,6 @@
|
|||
import jester
|
||||
import asyncdispatch, strutils, options, router_utils, timeline
|
||||
import ".."/[prefs, types, utils]
|
||||
import ".."/[prefs, types, utils, redis_cache]
|
||||
import ../views/[general, home, search]
|
||||
|
||||
export home
|
||||
|
@ -32,3 +32,18 @@ proc createHomeRouter*(cfg: Config) =
|
|||
if names.len == 0:
|
||||
resp renderMain(renderSearch(), request, cfg, themePrefs())
|
||||
resp (await showHome(request, query, cfg, prefs, after))
|
||||
get "/following":
|
||||
let
|
||||
prefs = cookiePrefs()
|
||||
names = getNames(prefs.following)
|
||||
var
|
||||
profs: seq[Profile]
|
||||
query = request.getQuery("", prefs.following)
|
||||
query.fromUser = names
|
||||
query.kind = userList
|
||||
|
||||
for name in names:
|
||||
let prof = await getCachedProfile(name)
|
||||
profs &= @[prof]
|
||||
|
||||
resp renderMain(renderFollowing(query, profs, prefs), request, cfg, prefs)
|
||||
|
|
|
@ -1,15 +1,32 @@
|
|||
import karax/[karaxdsl, vdom], strutils
|
||||
import search, timeline
|
||||
import search, timeline, renderutils
|
||||
import ../types
|
||||
|
||||
proc renderFollowingUsers*(results: seq[Profile]; prefs: Prefs): VNode =
|
||||
buildHtml(tdiv(class="timeline")):
|
||||
for user in results:
|
||||
renderUser(user, prefs)
|
||||
|
||||
proc renderHomeTabs*(query: Query): VNode =
|
||||
buildHtml(ul(class="tab")):
|
||||
li(class=query.getTabClass(posts)):
|
||||
a(href="/"): text "Tweets"
|
||||
li(class=query.getTabClass(userList)):
|
||||
a(href=("/following")): text "Following"
|
||||
|
||||
proc renderHome*(results: Result[Tweet]; prefs: Prefs; path: string): VNode =
|
||||
let query = results.query
|
||||
buildHtml(tdiv(class="timeline-container")):
|
||||
if query.fromUser.len > 0:
|
||||
renderProfileTabs(query, query.fromUser.join(","))
|
||||
renderHomeTabs(query)
|
||||
|
||||
if query.fromUser.len == 0 or query.kind == tweets:
|
||||
tdiv(class="timeline-header"):
|
||||
renderSearchPanel(query)
|
||||
|
||||
renderTimelineTweets(results, prefs, path)
|
||||
|
||||
proc renderFollowing*(query: Query; following: seq[Profile]; prefs: Prefs): VNode =
|
||||
buildHtml(tdiv(class="timeline-container")):
|
||||
renderHomeTabs(query)
|
||||
renderFollowingUsers(following, prefs)
|
||||
|
|
|
@ -57,7 +57,7 @@ proc threadFilter(tweets: openArray[Tweet]; threads: openArray[int64]; it: Tweet
|
|||
elif t.replyId == result[0].id:
|
||||
result.add t
|
||||
|
||||
proc renderUser(user: User; prefs: Prefs): VNode =
|
||||
proc renderUser*(user: User; prefs: Prefs): VNode =
|
||||
buildHtml(tdiv(class="timeline-item")):
|
||||
a(class="tweet-link", href=("/" & user.username))
|
||||
tdiv(class="tweet-body profile-result"):
|
||||
|
|
Loading…
Reference in a new issue