mirror of
https://gitea.phreedom.club/localhost_frssoft/bloat.git
synced 2025-05-09 21:38:45 +00:00
Add following and followers page
This commit is contained in:
parent
b9d7eb05be
commit
72dbe50341
9 changed files with 195 additions and 2 deletions
|
@ -39,6 +39,8 @@ type Service interface {
|
|||
ServeEmojiPage(ctx context.Context, client io.Writer, c *model.Client) (err error)
|
||||
ServeLikedByPage(ctx context.Context, client io.Writer, c *model.Client, id string) (err error)
|
||||
ServeRetweetedByPage(ctx context.Context, client io.Writer, c *model.Client, id string) (err error)
|
||||
ServeFollowingPage(ctx context.Context, client io.Writer, c *model.Client, id string, maxID string, minID string) (err error)
|
||||
ServeFollowersPage(ctx context.Context, client io.Writer, c *model.Client, id string, maxID string, minID string) (err error)
|
||||
ServeSearchPage(ctx context.Context, client io.Writer, c *model.Client, q string, qType string, offset int) (err error)
|
||||
ServeSettingsPage(ctx context.Context, client io.Writer, c *model.Client) (err error)
|
||||
SaveSettings(ctx context.Context, client io.Writer, c *model.Client, settings *model.Settings) (err error)
|
||||
|
@ -603,6 +605,87 @@ func (svc *service) ServeRetweetedByPage(ctx context.Context, client io.Writer,
|
|||
return
|
||||
}
|
||||
|
||||
func (svc *service) ServeFollowingPage(ctx context.Context, client io.Writer, c *model.Client, id string, maxID string, minID string) (err error) {
|
||||
var hasNext bool
|
||||
var nextLink string
|
||||
|
||||
var pg = mastodon.Pagination{
|
||||
MaxID: maxID,
|
||||
MinID: minID,
|
||||
Limit: 20,
|
||||
}
|
||||
|
||||
followings, err := c.GetAccountFollowing(ctx, id, &pg)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if len(followings) == 20 && len(pg.MaxID) > 0 {
|
||||
hasNext = true
|
||||
nextLink = "/following/" + id + "?max_id=" + pg.MaxID
|
||||
}
|
||||
|
||||
commonData, err := svc.getCommonData(ctx, client, c)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
data := &renderer.FollowingData{
|
||||
CommonData: commonData,
|
||||
Users: followings,
|
||||
HasNext: hasNext,
|
||||
NextLink: nextLink,
|
||||
}
|
||||
|
||||
err = svc.renderer.RenderFollowingPage(ctx, client, data)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (svc *service) ServeFollowersPage(ctx context.Context, client io.Writer, c *model.Client, id string, maxID string, minID string) (err error) {
|
||||
var hasNext bool
|
||||
var nextLink string
|
||||
|
||||
var pg = mastodon.Pagination{
|
||||
MaxID: maxID,
|
||||
MinID: minID,
|
||||
Limit: 20,
|
||||
}
|
||||
|
||||
followers, err := c.GetAccountFollowers(ctx, id, &pg)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println(len(followers), pg.MaxID)
|
||||
if len(followers) == 20 && len(pg.MaxID) > 0 {
|
||||
hasNext = true
|
||||
nextLink = "/followers/" + id + "?max_id=" + pg.MaxID
|
||||
}
|
||||
|
||||
commonData, err := svc.getCommonData(ctx, client, c)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
data := &renderer.FollowersData{
|
||||
CommonData: commonData,
|
||||
Users: followers,
|
||||
HasNext: hasNext,
|
||||
NextLink: nextLink,
|
||||
}
|
||||
|
||||
err = svc.renderer.RenderFollowersPage(ctx, client, data)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func (svc *service) ServeSearchPage(ctx context.Context, client io.Writer, c *model.Client, q string, qType string, offset int) (err error) {
|
||||
var hasNext bool
|
||||
var nextLink string
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue