summaryrefslogtreecommitdiff
path: root/srv/src/api/render.go
diff options
context:
space:
mode:
Diffstat (limited to 'srv/src/api/render.go')
-rw-r--r--srv/src/api/render.go17
1 files changed, 14 insertions, 3 deletions
diff --git a/srv/src/api/render.go b/srv/src/api/render.go
index b2ca3c8..6359505 100644
--- a/srv/src/api/render.go
+++ b/srv/src/api/render.go
@@ -59,7 +59,7 @@ func (a *api) renderIndexHandler() http.Handler {
return
}
- posts, _, err := a.params.PostStore.Get(page, pageCount)
+ posts, hasMore, err := a.params.PostStore.WithOrderDesc().Get(page, pageCount)
if err != nil {
apiutil.InternalServerError(
rw, r, fmt.Errorf("fetching page %d of posts: %w", page, err),
@@ -68,9 +68,20 @@ func (a *api) renderIndexHandler() http.Handler {
}
tplData := struct {
- Posts []post.StoredPost
+ Posts []post.StoredPost
+ PrevPage, NextPage int
}{
- Posts: posts,
+ Posts: posts,
+ PrevPage: -1,
+ NextPage: -1,
+ }
+
+ if page > 0 {
+ tplData.PrevPage = page - 1
+ }
+
+ if hasMore {
+ tplData.NextPage = page + 1
}
if err := tpl.Execute(rw, tplData); err != nil {