From af2a35d20f1a3eba8ecffaf24ca9d97e42d571a5 Mon Sep 17 00:00:00 2001 From: Tigor Hutasuhut Date: Mon, 13 May 2024 10:38:14 +0700 Subject: [PATCH] subreddit-details: uses proper pagination component --- .../detailsview/detailsview.templ | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/views/subredditsview/detailsview/detailsview.templ b/views/subredditsview/detailsview/detailsview.templ index 562ee27..a675886 100644 --- a/views/subredditsview/detailsview/detailsview.templ +++ b/views/subredditsview/detailsview/detailsview.templ @@ -58,7 +58,14 @@ templ DetailsContent(c *views.Context, data Data) {
@FilterBar(c, data) - @paginationButtons(c, data) +
+ @components.Pagination(c, components.PaginationData{ + Offset: data.Params.Offset, + Limit: data.Params.Limit, + BaseURL: fmt.Sprintf("/subreddits/details/%s", data.Subreddit.Name), + Total: data.TotalImages, + }) +
@showingImageFromTo(data)
for _, image := range data.Images { @@ -66,7 +73,12 @@ templ DetailsContent(c *views.Context, data Data) { }
- @paginationButtons(c, data) + @components.Pagination(c, components.PaginationData{ + Offset: data.Params.Offset, + Limit: data.Params.Limit, + BaseURL: fmt.Sprintf("/subreddits/details/%s", data.Subreddit.Name), + Total: data.TotalImages, + })
} } @@ -127,28 +139,6 @@ templ FilterBar(c *views.Context, data Data) { } -templ paginationButtons(_ *views.Context, data Data) { - if data.TotalImages > data.Params.Limit { -
-
- for i, count := 1, int64(0); count < data.TotalImages; i, count = i+1, count+data.Params.Limit { - if data.Params.Offset <= count && data.Params.Offset > count-data.Params.Limit { - { strconv.Itoa(i) } - } else { - { strconv.Itoa(i) } - } - } -
-
- } -} - -func buildURL(subreddit string, params api.SubredditGetByNameImageParams, extraQueries ...string) templ.SafeURL { - queries := params.IntoQueryWith(extraQueries...) - - return templ.SafeURL(fmt.Sprintf("/subreddits/details/%s?%s", subreddit, queries.Encode())) -} - templ limitOption(params api.SubredditGetByNameImageParams, value int) { if int(params.Limit) == value {