From 2c084dfd097da448a830a8e017af0175209259ab Mon Sep 17 00:00:00 2001 From: r Date: Tue, 28 Jan 2020 20:56:15 +0000 Subject: [PATCH] Add direct timeline --- mastodon/status.go | 12 ++++++++++++ service/service.go | 3 +++ templates/navigation.tmpl | 1 + 3 files changed, 16 insertions(+) diff --git a/mastodon/status.go b/mastodon/status.go index d6a9330..bce283f 100644 --- a/mastodon/status.go +++ b/mastodon/status.go @@ -329,3 +329,15 @@ func (c *Client) UploadMediaFromMultipartFileHeader(ctx context.Context, fh *mul } return &attachment, nil } + +// GetTimelineDirect return statuses from direct timeline. +func (c *Client) GetTimelineDirect(ctx context.Context, pg *Pagination) ([]*Status, error) { + params := url.Values{} + + var statuses []*Status + err := c.doAPI(ctx, http.MethodGet, "/api/v1/timelines/direct", params, &statuses, pg) + if err != nil { + return nil, err + } + return statuses, nil +} diff --git a/service/service.go b/service/service.go index 7ad860f..0ef8f09 100644 --- a/service/service.go +++ b/service/service.go @@ -211,6 +211,9 @@ func (svc *service) ServeTimelinePage(ctx context.Context, c *model.Client, case "home": statuses, err = c.GetTimelineHome(ctx, &pg) title = "Timeline" + case "direct": + statuses, err = c.GetTimelineDirect(ctx, &pg) + title = "Local Timeline" case "local": statuses, err = c.GetTimelinePublic(ctx, true, &pg) title = "Local Timeline" diff --git a/templates/navigation.tmpl b/templates/navigation.tmpl index e2547ea..a85f9fd 100644 --- a/templates/navigation.tmpl +++ b/templates/navigation.tmpl @@ -15,6 +15,7 @@
home notifications{{if gt .NotificationCount 0}}({{.NotificationCount}}){{end}} + direct local twkn search