From 113789a972358ae0f1e82acbea8586b074a74f2f Mon Sep 17 00:00:00 2001 From: Leon Mika Date: Sun, 22 Mar 2026 14:32:02 +1100 Subject: [PATCH] feat: add PageInfo model for pagination Co-Authored-By: Claude Opus 4.6 --- models/paging.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 models/paging.go diff --git a/models/paging.go b/models/paging.go new file mode 100644 index 0000000..4ba0c9f --- /dev/null +++ b/models/paging.go @@ -0,0 +1,28 @@ +package models + +// PageInfo carries pagination state for templates. +type PageInfo struct { + CurrentPage int + TotalPages int + PostsPerPage int +} + +// HasPrevious returns true if there is a previous page. +func (p PageInfo) HasPrevious() bool { + return p.CurrentPage > 1 +} + +// HasNext returns true if there is a next page. +func (p PageInfo) HasNext() bool { + return p.CurrentPage < p.TotalPages +} + +// PreviousPage returns the previous page number. +func (p PageInfo) PreviousPage() int { + return p.CurrentPage - 1 +} + +// NextPage returns the next page number. +func (p PageInfo) NextPage() int { + return p.CurrentPage + 1 +}