29 lines
620 B
Go
29 lines
620 B
Go
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
|
|
}
|