@@ -18,8 +18,8 @@ proc getQuery*(request: Request; tab, name: string): Query =
18
18
of " search" : initQuery (params (request), name= name)
19
19
else : Query (fromUser: @ [name])
20
20
21
- proc fetchSingleTimeline * (after: string ; query: Query ; skipRail= false ):
22
- Future [(Profile , Timeline , PhotoRail )] {.async .} =
21
+ proc fetchSingleTimeline * (after: string ; query: Query ; skipRail= false , skipRecommendations = false ):
22
+ Future [(Profile , Timeline , PhotoRail , Recommendations )] {.async .} =
23
23
let name = query.fromUser[0 ]
24
24
25
25
var
@@ -51,6 +51,13 @@ proc fetchSingleTimeline*(after: string; query: Query; skipRail=false):
51
51
else :
52
52
rail = getCachedPhotoRail (name)
53
53
54
+ var recommendations: Future [Recommendations ]
55
+ if skipRecommendations:
56
+ recommendations = newFuture [Recommendations ]()
57
+ recommendations.complete (@ [])
58
+ else :
59
+ recommendations= getCachedRecommendations (profileId)
60
+
54
61
var timeline =
55
62
case query.kind
56
63
of posts: await getTimeline (profileId, after)
@@ -75,7 +82,7 @@ proc fetchSingleTimeline*(after: string; query: Query; skipRail=false):
75
82
if fetched and not found:
76
83
await cache (profile)
77
84
78
- return (profile, timeline, await rail)
85
+ return (profile, timeline, await rail , await recommendations )
79
86
80
87
proc get * (req: Request ; key: string ): string =
81
88
params (req).getOrDefault (key)
@@ -88,12 +95,12 @@ proc showTimeline*(request: Request; query: Query; cfg: Config; prefs: Prefs;
88
95
html = renderTweetSearch (timeline, prefs, getPath ())
89
96
return renderMain (html, request, cfg, prefs, " Multi" , rss= rss)
90
97
91
- var (p, t, r) = await fetchSingleTimeline (after, query)
98
+ var (p, t, r ,rc ) = await fetchSingleTimeline (after, query)
92
99
93
100
if p.suspended: return showError (getSuspended (p.username), cfg)
94
101
if p.id.len == 0 : return
95
102
96
- let pHtml = renderProfile (p, t, r, prefs, getPath ())
103
+ let pHtml = renderProfile (p, t, r, rc, prefs, getPath ())
97
104
result = renderMain (pHtml, request, cfg, prefs, pageTitle (p), pageDesc (p),
98
105
rss= rss, images = @ [p.getUserpic (" _400x400" )],
99
106
banner= p.banner)
@@ -126,7 +133,7 @@ proc createTimelineRouter*(cfg: Config) =
126
133
timeline.beginning = true
127
134
resp $ renderTweetSearch (timeline, prefs, getPath ())
128
135
else :
129
- var (_, timeline, _) = await fetchSingleTimeline (after, query, skipRail= true )
136
+ var (_, timeline, _ , _ ) = await fetchSingleTimeline (after, query, skipRail= true , skipRecommendations = true )
130
137
if timeline.content.len == 0 : resp Http404
131
138
timeline.beginning = true
132
139
resp $ renderTimelineTweets (timeline, prefs, getPath ())
0 commit comments