fix limit issues

This commit is contained in:
Florian Baumann 2023-06-26 10:29:15 +02:00
parent 5f135d07cb
commit f34aa42e8f
2 changed files with 19 additions and 12 deletions

View File

@ -1,6 +1,7 @@
package serra package serra
import ( import (
"fmt"
"net/http" "net/http"
"strconv" "strconv"
@ -49,10 +50,16 @@ func startWeb() error {
func landingPage(c *gin.Context) { func landingPage(c *gin.Context) {
var query Query var query Query
if c.ShouldBind(&query) == nil { if c.ShouldBind(&query) == nil {
if query.Limit == 0 { strLimit := c.DefaultQuery("limit", "500")
query.Limit = 500
limit, _ := strconv.ParseInt(strLimit, 10, 64)
if limit == 0 {
limit = 500
} }
cards := Cards("", query.Set, query.Sort, query.Name, "", "", false, false, query.Page, query.Limit)
fmt.Println(limit, query.Page, query.Limit)
cards := Cards("", query.Set, query.Sort, query.Name, "", "", false, false, query.Page*int64(limit), limit)
numCards := len(Cards("", query.Set, query.Sort, query.Name, "", "", false, false, 0, 0)) numCards := len(Cards("", query.Set, query.Sort, query.Name, "", "", false, false, 0, 0))
sets := Sets("release") sets := Sets("release")
@ -65,9 +72,9 @@ func landingPage(c *gin.Context) {
"prevPage": query.Page - 1, "prevPage": query.Page - 1,
"page": query.Page, "page": query.Page,
"nextPage": query.Page + 1, "nextPage": query.Page + 1,
"limit": query.Limit, "limit": limit,
"numCards": numCards, "numCards": numCards,
"numPages": int64(numCards) / query.Limit, "numPages": int64(numCards) / limit,
}) })
} }
} }

View File

@ -195,18 +195,18 @@
<nav class="pagination" role="navigation" aria-label="pagination"> <nav class="pagination" role="navigation" aria-label="pagination">
{{ if ge .prevPage 0 }} {{ if ge .prevPage 0 }}
<a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.query.Limit}}&page={{.prevPage}}" class="pagination-previous">Previous</a> <a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.limit}}&page={{.prevPage}}" class="pagination-previous">Previous</a>
{{ end }} {{ end }}
{{ if ( le .nextPage .numPages) }} {{ if ( le .nextPage .numPages) }}
<a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.query.Limit}}&page={{.nextPage}}" class="pagination-next">Next page</a> <a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.limit}}&page={{.nextPage}}" class="pagination-next">Next page</a>
{{ end }} {{ end }}
<ul class="pagination-list"> <ul class="pagination-list">
{{ if ne .page 0 }} {{ if ne .page 0 }}
<li> <li>
<a class="pagination-link" href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.query.Limit}}&page=0" aria-label="Goto page 0">0</a> <a class="pagination-link" href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.limit}}&page=0" aria-label="Goto page 0">0</a>
</li> </li>
<li> <li>
@ -216,16 +216,16 @@
{{ if gt .prevPage 0 }} {{ if gt .prevPage 0 }}
<li> <li>
<a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.query.Limit}}&page={{.prevPage}}" class="pagination-link" aria-label="Goto page {{.prevPage}}">{{.prevPage}}</a> <a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.limit}}&page={{.prevPage}}" class="pagination-link" aria-label="Goto page {{.prevPage}}">{{.prevPage}}</a>
</li> </li>
{{end}} {{end}}
<li> <li>
<a class="pagination-link is-current" href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.query.Limit}}&page={{.page}}" aria-label="Page {{ .page }}" aria-current="page">{{.page}}</a> <a class="pagination-link is-current" href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.limit}}&page={{.page}}" aria-label="Page {{ .page }}" aria-current="page">{{.page}}</a>
</li> </li>
{{ if and (ne .nextPage .numPages) ( lt .nextPage .numPages) }} {{ if and (ne .nextPage .numPages) ( lt .nextPage .numPages) }}
<li> <li>
<a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.query.Limit}}&page={{.nextPage}}" class="pagination-link" aria-label="Goto page {{.nextPage}} ">{{.nextPage}}</a> <a href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.limit}}&page={{.nextPage}}" class="pagination-link" aria-label="Goto page {{.nextPage}} ">{{.nextPage}}</a>
</li> </li>
{{ end }} {{ end }}
@ -234,7 +234,7 @@
<span class="pagination-ellipsis">&hellip;</span> <span class="pagination-ellipsis">&hellip;</span>
</li> </li>
<li> <li>
<a class="pagination-link" href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.query.Limit}}&page={{.numPages}}" aria-label="Goto page {{.numPages}}">{{.numPages}}</a> <a class="pagination-link" href="/?set={{.query.Set}}&name={{.query.Name}}&sort={{.query.Sort}}&limit={{.limit}}&page={{.numPages}}" aria-label="Goto page {{.numPages}}">{{.numPages}}</a>
</li> </li>
{{end}} {{end}}