Added a first page button

This commit is contained in:
RadoslavL 2023-09-27 11:28:47 +03:00
parent bb14f79496
commit 905582db66
5 changed files with 22 additions and 3 deletions

View File

@ -11,6 +11,7 @@
"last": "neueste", "last": "neueste",
"Next page": "Nächste Seite", "Next page": "Nächste Seite",
"Previous page": "Vorherige Seite", "Previous page": "Vorherige Seite",
"First page": "Erste Seite",
"Clear watch history?": "Verlauf löschen?", "Clear watch history?": "Verlauf löschen?",
"New password": "Neues Passwort", "New password": "Neues Passwort",
"New passwords must match": "Neue Passwörter müssen übereinstimmen", "New passwords must match": "Neue Passwörter müssen übereinstimmen",

View File

@ -28,6 +28,7 @@
"last": "last", "last": "last",
"Next page": "Next page", "Next page": "Next page",
"Previous page": "Previous page", "Previous page": "Previous page",
"First page": "First page",
"Clear watch history?": "Clear watch history?", "Clear watch history?": "Clear watch history?",
"New password": "New password", "New password": "New password",
"New passwords must match": "New passwords must match", "New passwords must match": "New passwords must match",

View File

@ -11,6 +11,7 @@
"last": "недавние", "last": "недавние",
"Next page": "Следующая страница", "Next page": "Следующая страница",
"Previous page": "Предыдущая страница", "Previous page": "Предыдущая страница",
"First page": "Первая страница",
"Clear watch history?": "Очистить историю просмотров?", "Clear watch history?": "Очистить историю просмотров?",
"New password": "Новый пароль", "New password": "Новый пароль",
"New passwords must match": "Новые пароли не совпадают", "New passwords must match": "Новые пароли не совпадают",

View File

@ -3,6 +3,15 @@ require "uri"
module Invidious::Frontend::Pagination module Invidious::Frontend::Pagination
extend self extend self
private def first_page(str : String::Builder, locale : String?, url : String)
str << %(<a href=") << url << %(" class="pure-button pure-button-secondary">)
str << translate(locale, "First page")
str << "&nbsp;&nbsp;"
str << %(<i class="icon ion-ios-arrow-back"></i>)
str << "</a>"
end
private def previous_page(str : String::Builder, locale : String?, url : String) private def previous_page(str : String::Builder, locale : String?, url : String)
# Link # Link
str << %(<a href=") << url << %(" class="pure-button pure-button-secondary">) str << %(<a href=") << url << %(" class="pure-button pure-button-secondary">)
@ -72,12 +81,18 @@ module Invidious::Frontend::Pagination
end end
end end
def nav_ctoken(locale : String?, *, base_url : String | URI, ctoken : String?) def nav_ctoken(locale : String?, *, base_url : String | URI, ctoken : String?, first_page : String?)
return String.build do |str| return String.build do |str|
str << %(<div class="h-box">\n) str << %(<div class="h-box">\n)
str << %(<div class="page-nav-container flexible">\n) str << %(<div class="page-nav-container flexible">\n)
str << %(<div class="page-prev-container flex-left"></div>\n) str << %(<div class="page-prev-container flex-left">)
if !first_page.nil?
self.first_page(str, locale, base_url.to_s)
end
str << %(</div>\n)
str << %(<div class="page-next-container flex-right">) str << %(<div class="page-next-container flex-right">)

View File

@ -20,7 +20,8 @@
page_nav_html = IV::Frontend::Pagination.nav_ctoken(locale, page_nav_html = IV::Frontend::Pagination.nav_ctoken(locale,
base_url: relative_url, base_url: relative_url,
ctoken: next_continuation ctoken: next_continuation,
first_page: continuation
) )
%> %>