mirror of https://github.com/zedeus/nitter
Add initial implementation of home timeline
Currently just a copy of timeline.nim that takes names from the following cookie rather than the url.
This commit is contained in:
parent
5ce94e37dd
commit
3ad92e13eb
|
@ -1,11 +1,40 @@
|
||||||
import jester
|
import jester
|
||||||
import asyncdispatch, strutils, options, router_utils
|
import asyncdispatch, strutils, options, router_utils, timeline
|
||||||
import ".."/[prefs, types, utils]
|
import ".."/[prefs, types, utils]
|
||||||
import ../views/[general, home]
|
import ../views/[general, home, search]
|
||||||
|
|
||||||
export home
|
export home
|
||||||
|
|
||||||
proc createHomeRouter*(cfg: Config) =
|
proc createHomeRouter*(cfg: Config) =
|
||||||
router home:
|
router home:
|
||||||
get "/":
|
get "/":
|
||||||
resp renderMain(renderHome(), request, cfg, themePrefs())
|
let
|
||||||
|
prefs = cookiePrefs()
|
||||||
|
after = getCursor()
|
||||||
|
names = getNames(prefs.following)
|
||||||
|
|
||||||
|
var query = request.getQuery("", prefs.following)
|
||||||
|
if names.len != 1:
|
||||||
|
query.fromUser = names
|
||||||
|
|
||||||
|
if @"scroll".len > 0:
|
||||||
|
if query.fromUser.len != 1:
|
||||||
|
var timeline = await getSearch[Tweet](query, after)
|
||||||
|
if timeline.content.len == 0: resp Http404
|
||||||
|
timeline.beginning = true
|
||||||
|
resp $renderTweetSearch(timeline, prefs, getPath())
|
||||||
|
else:
|
||||||
|
var (_, timeline, _) = await fetchSingleTimeline(after, query, skipRail=true)
|
||||||
|
if timeline.content.len == 0: resp Http404
|
||||||
|
timeline.beginning = true
|
||||||
|
resp $renderTimelineTweets(timeline, prefs, getPath())
|
||||||
|
|
||||||
|
var rss = "/$1/$2/rss" % [@"name", @"tab"]
|
||||||
|
if @"tab".len == 0:
|
||||||
|
rss = "/$1/rss" % @"name"
|
||||||
|
elif @"tab" == "search":
|
||||||
|
rss &= "?" & genQueryUrl(query)
|
||||||
|
|
||||||
|
if names.len == 0:
|
||||||
|
resp renderMain(renderSearch(), request, cfg, themePrefs())
|
||||||
|
respTimeline(await showTimeline(request, query, cfg, prefs, rss, after))
|
||||||
|
|
Loading…
Reference in New Issue