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 @@