aboutsummaryrefslogtreecommitdiff
path: root/service/service.go
diff options
context:
space:
mode:
authorr <r@freesoftwareextremist.com>2021-01-23 08:44:05 +0000
committerr <r@freesoftwareextremist.com>2021-01-23 08:44:05 +0000
commitac342dde079a0ca156c36a402a3c0ba86d78821d (patch)
tree03d3daf98c5e14736e9ba66f1781df83ea4eed65 /service/service.go
parenteca0366c21c94f7cbf6d1b701dd31be8ee81abc7 (diff)
downloadbloat-ac342dde079a0ca156c36a402a3c0ba86d78821d.tar.gz
bloat-ac342dde079a0ca156c36a402a3c0ba86d78821d.zip
Add remote timeline
Diffstat (limited to 'service/service.go')
-rw-r--r--service/service.go28
1 files changed, 22 insertions, 6 deletions
diff --git a/service/service.go b/service/service.go
index f376fde..ce689fd 100644
--- a/service/service.go
+++ b/service/service.go
@@ -158,7 +158,7 @@ func (s *service) NavPage(c *client) (err error) {
return s.renderer.Render(rCtx, c, renderer.NavPage, data)
}
-func (s *service) TimelinePage(c *client, tType string,
+func (s *service) TimelinePage(c *client, tType string, instance string,
maxID string, minID string) (err error) {
var nextLink, prevLink, title string
@@ -179,10 +179,15 @@ func (s *service) TimelinePage(c *client, tType string,
statuses, err = c.GetTimelineDirect(ctx, &pg)
title = "Direct Timeline"
case "local":
- statuses, err = c.GetTimelinePublic(ctx, true, &pg)
+ statuses, err = c.GetTimelinePublic(ctx, true, "", &pg)
title = "Local Timeline"
+ case "remote":
+ if len(instance) > 0 {
+ statuses, err = c.GetTimelinePublic(ctx, false, instance, &pg)
+ }
+ title = "Remote Timeline"
case "twkn":
- statuses, err = c.GetTimelinePublic(ctx, false, &pg)
+ statuses, err = c.GetTimelinePublic(ctx, false, "", &pg)
title = "The Whole Known Network"
}
if err != nil {
@@ -196,17 +201,28 @@ func (s *service) TimelinePage(c *client, tType string,
}
if (len(maxID) > 0 || len(minID) > 0) && len(statuses) > 0 {
- prevLink = fmt.Sprintf("/timeline/%s?min_id=%s", tType,
- statuses[0].ID)
+ v := make(url.Values)
+ v.Set("min_id", statuses[0].ID)
+ if len(instance) > 0 {
+ v.Set("instance", instance)
+ }
+ prevLink = "/timeline/" + tType + "?" + v.Encode()
}
if len(minID) > 0 || (len(pg.MaxID) > 0 && len(statuses) == 20) {
- nextLink = fmt.Sprintf("/timeline/%s?max_id=%s", tType, pg.MaxID)
+ v := make(url.Values)
+ v.Set("max_id", pg.MaxID)
+ if len(instance) > 0 {
+ v.Set("instance", instance)
+ }
+ nextLink = "/timeline/" + tType + "?" + v.Encode()
}
commonData := s.getCommonData(c, tType+" timeline ")
data := &renderer.TimelineData{
Title: title,
+ Type: tType,
+ Instance: instance,
Statuses: statuses,
NextLink: nextLink,
PrevLink: prevLink,