Monorepo for Tangled
tangled.org
1package timeline
2
3import (
4 "net/http"
5
6 "tangled.org/core/appview/db"
7 "tangled.org/core/appview/pages"
8)
9
10func (t *Timeline) Home(w http.ResponseWriter, r *http.Request) {
11 // TODO: set this flag based on the UI
12 filtered := false
13
14 user := t.oauth.GetMultiAccountUser(r)
15
16 timeline, err := db.MakeTimeline(t.db, 50, "", filtered)
17 if err != nil {
18 t.logger.Error("failed to make timeline", "err", err)
19 t.pages.Notice(w, "timeline", "Uh oh! Failed to load timeline.")
20 return
21 }
22
23 blueskyPosts, err := db.GetBlueskyPosts(t.db, 8)
24 if err != nil {
25 t.logger.Error("failed to get bluesky posts", "err", err)
26 }
27
28 t.pages.Home(w, pages.TimelineParams{
29 LoggedInUser: user,
30 Timeline: timeline,
31 BlueskyPosts: blueskyPosts,
32 RecentBlogPosts: t.recentPosts,
33 ShowNewsletter: t.showNewsletter(user),
34 })
35}
36
37func (t *Timeline) HomeOrTimeline(w http.ResponseWriter, r *http.Request) {
38 if t.oauth.GetMultiAccountUser(r) != nil {
39 t.Timeline(w, r)
40 return
41 }
42 t.Home(w, r)
43}