From 8a6dd176040060b5beac5cacc466682d1c6942fe Mon Sep 17 00:00:00 2001 From: Konstantinos Koukas Date: Wed, 2 Aug 2023 13:21:03 +0300 Subject: plugins/base: fix empty last search page Fix an empty search page appearing when the total number of search results is a multiple of the number of messages per page. --- plugins/base/routes.go | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'plugins') diff --git a/plugins/base/routes.go b/plugins/base/routes.go index c04b9ef..5176775 100644 --- a/plugins/base/routes.go +++ b/plugins/base/routes.go @@ -261,6 +261,7 @@ func handleGetMailbox(ctx *alps.Context) error { msgs, total, err = searchMessages(c, mbox.Name(), query, page, messagesPerPage) } else { msgs, err = listMessages(c, mbox, page, messagesPerPage) + total = int(*mbox.NumMessages) } if err != nil { return err @@ -272,20 +273,11 @@ func handleGetMailbox(ctx *alps.Context) error { } prevPage, nextPage := -1, -1 - if query != "" { - if page > 0 { - prevPage = page - 1 - } - if (page+1)*messagesPerPage <= total { - nextPage = page + 1 - } - } else { - if page > 0 { - prevPage = page - 1 - } - if (page+1)*messagesPerPage < int(*mbox.NumMessages) { - nextPage = page + 1 - } + if page > 0 { + prevPage = page - 1 + } + if (page+1)*messagesPerPage < total { + nextPage = page + 1 } return ctx.Render(http.StatusOK, "mailbox.html", &MailboxRenderData{ -- cgit v1.2.3-59-g8ed1b