summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2023-04-18 00:12:56 +0200
committerSamantaz Fox <coding@samantaz.fr>2023-07-06 00:57:40 +0200
commitefaf7cb09c8aad606d59cacab71c4a0a269d785b (patch)
treef4aa2b807bc1121d46ad9e1714b0712d7216e97e /src
parentc4ef3bed9556700c4c4e8c02c394d16fd3aae03d (diff)
downloadinvidious-efaf7cb09c8aad606d59cacab71c4a0a269d785b.tar.gz
invidious-efaf7cb09c8aad606d59cacab71c4a0a269d785b.tar.bz2
invidious-efaf7cb09c8aad606d59cacab71c4a0a269d785b.zip
HTML: Use the new pagination component for search results
Diffstat (limited to 'src')
-rw-r--r--src/invidious/routes/search.cr22
-rw-r--r--src/invidious/views/hashtag.ecr35
-rw-r--r--src/invidious/views/search.ecr35
3 files changed, 16 insertions, 76 deletions
diff --git a/src/invidious/routes/search.cr b/src/invidious/routes/search.cr
index 6c3088de..edf0351c 100644
--- a/src/invidious/routes/search.cr
+++ b/src/invidious/routes/search.cr
@@ -59,17 +59,21 @@ module Invidious::Routes::Search
return error_template(500, ex)
end
- params = query.to_http_params
- url_prev_page = "/search?#{params}&page=#{query.page - 1}"
- url_next_page = "/search?#{params}&page=#{query.page + 1}"
-
redirect_url = Invidious::Frontend::Misc.redirect_url(env)
+ # Pagination
+ page_nav_html = Frontend::Pagination.nav_numeric(locale,
+ base_url: "/search?#{query.to_http_params}",
+ current_page: query.page,
+ show_next: (videos.size >= 20)
+ )
+
if query.type == Invidious::Search::Query::Type::Channel
env.set "search", "channel:#{query.channel} #{query.text}"
else
env.set "search", query.text
end
+
templated "search"
end
end
@@ -96,11 +100,13 @@ module Invidious::Routes::Search
return error_template(500, ex)
end
- params = env.params.query.empty? ? "" : "&#{env.params.query}"
-
+ # Pagination
hashtag_encoded = URI.encode_www_form(hashtag, space_to_plus: false)
- url_prev_page = "/hashtag/#{hashtag_encoded}?page=#{page - 1}#{params}"
- url_next_page = "/hashtag/#{hashtag_encoded}?page=#{page + 1}#{params}"
+ page_nav_html = Frontend::Pagination.nav_numeric(locale,
+ base_url: "/hashtag/#{hashtag_encoded}",
+ current_page: page,
+ show_next: (videos.size >= 60)
+ )
templated "hashtag"
end
diff --git a/src/invidious/views/hashtag.ecr b/src/invidious/views/hashtag.ecr
index 3351c21c..2000337e 100644
--- a/src/invidious/views/hashtag.ecr
+++ b/src/invidious/views/hashtag.ecr
@@ -4,38 +4,5 @@
<hr/>
-<div class="pure-g h-box v-box">
- <div class="pure-u-1 pure-u-lg-1-5">
- <%- if page > 1 -%>
- <a href="<%= url_prev_page %>"><%= translate(locale, "Previous page") %></a>
- <%- end -%>
- </div>
- <div class="pure-u-1 pure-u-lg-3-5"></div>
- <div class="pure-u-1 pure-u-lg-1-5" style="text-align:right">
- <%- if videos.size >= 60 -%>
- <a href="<%= url_next_page %>"><%= translate(locale, "Next page") %></a>
- <%- end -%>
- </div>
-</div>
-<div class="pure-g">
- <%- videos.each do |item| -%>
- <%= rendered "components/item" %>
- <%- end -%>
-</div>
-
-<script src="/js/watched_indicator.js"></script>
-
-<div class="pure-g h-box">
- <div class="pure-u-1 pure-u-lg-1-5">
- <%- if page > 1 -%>
- <a href="<%= url_prev_page %>"><%= translate(locale, "Previous page") %></a>
- <%- end -%>
- </div>
- <div class="pure-u-1 pure-u-lg-3-5"></div>
- <div class="pure-u-1 pure-u-lg-1-5" style="text-align:right">
- <%- if videos.size >= 60 -%>
- <a href="<%= url_next_page %>"><%= translate(locale, "Next page") %></a>
- <%- end -%>
- </div>
-</div>
+<%= rendered "components/items_paginated" %>
diff --git a/src/invidious/views/search.ecr b/src/invidious/views/search.ecr
index a7469e36..627a13b0 100644
--- a/src/invidious/views/search.ecr
+++ b/src/invidious/views/search.ecr
@@ -7,19 +7,6 @@
<%= Invidious::Frontend::SearchFilters.generate(query.filters, query.text, query.page, locale) %>
<hr/>
-<div class="pure-g h-box v-box">
- <div class="pure-u-1 pure-u-lg-1-5">
- <%- if query.page > 1 -%>
- <a href="<%= url_prev_page %>"><%= translate(locale, "Previous page") %></a>
- <%- end -%>
- </div>
- <div class="pure-u-1 pure-u-lg-3-5"></div>
- <div class="pure-u-1 pure-u-lg-1-5" style="text-align:right">
- <%- if videos.size >= 20 -%>
- <a href="<%= url_next_page %>"><%= translate(locale, "Next page") %></a>
- <%- end -%>
- </div>
-</div>
<%- if videos.empty? -%>
<div class="h-box no-results-error">
@@ -30,25 +17,5 @@
</div>
</div>
<%- else -%>
-<div class="pure-g">
- <%- videos.each do |item| -%>
- <%= rendered "components/item" %>
- <%- end -%>
-</div>
+ <%= rendered "components/items_paginated" %>
<%- end -%>
-
-<script src="/js/watched_indicator.js"></script>
-
-<div class="pure-g h-box">
- <div class="pure-u-1 pure-u-lg-1-5">
- <%- if query.page > 1 -%>
- <a href="<%= url_prev_page %>"><%= translate(locale, "Previous page") %></a>
- <%- end -%>
- </div>
- <div class="pure-u-1 pure-u-lg-3-5"></div>
- <div class="pure-u-1 pure-u-lg-1-5" style="text-align:right">
- <%- if videos.size >= 20 -%>
- <a href="<%= url_next_page %>"><%= translate(locale, "Next page") %></a>
- <%- end -%>
- </div>
-</div>