forked from
tangled.org/core
Monorepo for Tangled
1package state
2
3import (
4 "fmt"
5 "net/http"
6
7 "tangled.org/core/appview/db"
8 "tangled.org/core/appview/pages"
9 "tangled.org/core/orm"
10)
11
12func (s *State) Home(w http.ResponseWriter, r *http.Request) {
13 // TODO: set this flag based on the UI
14 filtered := false
15
16 user := s.oauth.GetMultiAccountUser(r)
17
18 timeline, err := db.MakeTimeline(s.db, 50, "", filtered)
19 if err != nil {
20 s.logger.Error("failed to make timeline", "err", err)
21 s.pages.Notice(w, "timeline", "Uh oh! Failed to load timeline.")
22 return
23 }
24
25 blueskyPosts, err := db.GetBlueskyPosts(s.db, 8)
26 if err != nil {
27 s.logger.Error("failed to get bluesky posts", "err", err)
28 }
29
30 fmt.Println(s.pages.Home(w, pages.TimelineParams{
31 LoggedInUser: user,
32 Timeline: timeline,
33 BlueskyPosts: blueskyPosts,
34 }))
35}
36func (s *State) HomeOrTimeline(w http.ResponseWriter, r *http.Request) {
37 if s.oauth.GetMultiAccountUser(r) != nil {
38 s.Timeline(w, r)
39 return
40 }
41 s.Home(w, r)
42}
43
44func (s *State) Timeline(w http.ResponseWriter, r *http.Request) {
45 user := s.oauth.GetMultiAccountUser(r)
46
47 // TODO: set this flag based on the UI
48 filtered := false
49
50 var userDid string
51 if user != nil && user.Active != nil {
52 userDid = user.Active.Did
53 }
54 timeline, err := db.MakeTimeline(s.db, 50, userDid, filtered)
55 if err != nil {
56 s.logger.Error("failed to make timeline", "err", err)
57 s.pages.Notice(w, "timeline", "Uh oh! Failed to load timeline.")
58 }
59
60 repos, err := db.GetTopStarredReposLastWeek(s.db)
61 if err != nil {
62 s.logger.Error("failed to get top starred repos", "err", err)
63 s.pages.Notice(w, "topstarredrepos", "Unable to load.")
64 return
65 }
66
67 gfiLabel, err := db.GetLabelDefinition(s.db, orm.FilterEq("at_uri", s.config.Label.GoodFirstIssue))
68 if err != nil {
69 // non-fatal
70 }
71
72 s.pages.Timeline(w, pages.TimelineParams{
73 LoggedInUser: user,
74 Timeline: timeline,
75 Repos: repos,
76 GfiLabel: gfiLabel,
77 })
78}