Merge 'Extract footer overhaul from #2215':

From https://github.com/iv-org/invidious/pull/4003

Squashed

commit 5bcc25b2da46e5b21ebc9d11a0963b4df8cd9402
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:33:35 2024 -0800

    Reduce footer buffer height

commit 1341f67e85b27103514339c0ab4267dae7e7af09
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:29:52 2024 -0800

    Rename project homepage to project website

commit d1b9769d8941e4ce7d95bc2f3a574586da47b3c9
Author: syeopite <syeopite@syeopite.dev>
Date:   Thu Nov 7 20:28:26 2024 -0800

    Add footer buffer only in necessary templates

commit 2c798c945215db683aa4be2e34747ea9f6bf1c8b
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:58:29 2024 -0700

    Remove preferences and login link from footer

commit d5571faec5435dff3a1c09d726c983fbc9836bb2
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:52:43 2024 -0700

    Add modified disclaimer to version tag

commit a41bedbe64152ce5c51589c2d645276b89f4060a
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:50:44 2024 -0700

    Typo

commit 87cdc3b286a80f0a404e4b2891a58febe3aacad7
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:48:06 2024 -0700

    Add config option for instance donation link

    Co-authored-by: Arya K <arya@projectsegfau.lt>

commit b5ae452bc5750e14f00d8e16d2fc8b708262fcc3
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:38:18 2024 -0700

    Add "Instance" section to footer

commit 001ba71b9101445243d194887adbd0b95852cc54
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 14:01:20 2024 -0700

    Add config to add custom text in the footer

    Co-authored-by: Aural Glow <125497673+auralglow@users.noreply.github.com>

commit 1da6933b8e41be43e0aa703d1f989869cabb56a2
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 13:55:49 2024 -0700

    Add new instance customization section in config

commit dc9697157bca50aab56450ea76aa0ac18da18448
Author: syeopite <syeopite@syeopite.dev>
Date:   Wed Mar 13 13:35:39 2024 -0700

    Add Invidious version to footer

commit 629f95fcbead361f2e260a0a38e0839de7f1d735
Author: syeopite <70992037+syeopite@users.noreply.github.com>
Date:   Sat Sep 16 23:05:38 2023 +0000

    Use instances.invidious.io instead of redirect

    Co-authored-by: TheFrenchGhosty <47571719+TheFrenchGhosty@users.noreply.github.com>

commit 3f0ea875c16eb3a87050a9a73bec536be41dde48
Author: syeopite <70992037+syeopite@users.noreply.github.com>
Date:   Sun Jul 30 06:10:18 2023 +0000

    Update locales/en-US.json

    Co-authored-by: Samantaz Fox <coding@samantaz.fr>

commit e9639aaef8222a458c0d67d72c18764487ba9750
Author: syeopite <syeopite@syeopite.dev>
Date:   Mon Jul 24 15:11:45 2023 -0700

    Extract and implement footer overhaul from #2215
This commit is contained in:
Fijxu 2025-05-09 17:39:22 -04:00
parent f52b91c28d
commit 4c8b02f5fa
No known key found for this signature in database
GPG Key ID: 32C1DDF333EDA6A4
6 changed files with 205 additions and 204 deletions

View File

@ -754,7 +754,6 @@ body.dark-theme {
color: #ccc; color: #ccc;
} }
.dark-theme .error-card { .dark-theme .error-card {
border: 1px solid #5e5e5e; border: 1px solid #5e5e5e;
} }
@ -912,7 +911,7 @@ h1, h2, h3, h4, h5, p,
#logo > h1 { text-align: center; } #logo > h1 { text-align: center; }
#footer_buffer { #footer_buffer {
margin-top: 50vh; margin-top: 12.5vh;
} }
@media screen and (max-width: 450px) { @media screen and (max-width: 450px) {

View File

@ -474,7 +474,7 @@
"footer_navigation_section_header": "Navigation", "footer_navigation_section_header": "Navigation",
"footer_home_link": "Home", "footer_home_link": "Home",
"footer_project_information_section_header": "Invidious", "footer_project_information_section_header": "Invidious",
"footer_project_homepage_link": "Project Homepage", "footer_project_website_link": "Project Website",
"footer_source_code_link": "Source Code", "footer_source_code_link": "Source Code",
"footer_issue_tracker_link": "Issue tracker", "footer_issue_tracker_link": "Issue tracker",
"footer_public_instances_link": "Public instances", "footer_public_instances_link": "Public instances",

View File

@ -154,7 +154,8 @@ module Invidious::Routes::Channels
items.each(&.author = "") items.each(&.author = "")
selected_tab = Frontend::ChannelPage::TabsAvailable::Playlists selected_tab = Frontend::ChannelPage::TabsAvailable::Playlists
templated "channel", buffer_footer: true
templated "channel"
end end
def self.podcasts(env) def self.podcasts(env)

View File

@ -59,3 +59,7 @@
<%= rendered "components/items_paginated" %> <%= rendered "components/items_paginated" %>
<% if selected_tab == Frontend::ChannelPage::TabsAvailable::Playlists %>
<div id="footer_buffer"></div>
<% end %>

View File

@ -151,11 +151,11 @@
</div> </div>
<% end %> <% end %>
<% if companion_switched %> <% if companion_switched %>
<div class="h-box"> <div class="h-box">
<p><%= translate(locale, "backend_unavailable") %></p> <p><%= translate(locale, "backend_unavailable") %></p>
</div> </div>
<% end %> <% end %>
<% if CONFIG.banner %> <% if CONFIG.banner %>
<div class="h-box"> <div class="h-box">
@ -163,206 +163,201 @@
</div> </div>
<% end %> <% end %>
<%= content %> <%= content %>
</div>
</div>
<script src="/<%= JS_PATH %>/handlers.js?v=<%= ASSET_COMMIT %>"></script>
<script src="/<%= JS_PATH %>/themes.js?v=<%= ASSET_COMMIT %>"></script>
<% if env.get? "user" %>
<script src="/<%= JS_PATH %>/sse.js?v=<%= ASSET_COMMIT %>"></script>
<script id="notification_data" type="application/json">
<%=
{
"upload_text" => HTML.escape(translate(locale, "`x` uploaded a video")),
"live_upload_text" => HTML.escape(translate(locale, "`x` is live"))
}.to_pretty_json
%>
</script>
<% if CONFIG.enable_user_notifications %>
<script src="/<%= JS_PATH %>/notifications.js?v=<%= ASSET_COMMIT %>"></script>
<% end %>
<% end %>
<% if buffer_footer %> <footer class="pure-g">
<div id="footer_buffer"></div> <div class="pure-u-1 pure-u-md-2-24"></div>
<% end %> <div class="h-box pure-u-1 pure-u-md-20-24" id="footer-content-container">
<div class="pure-u-1 footer-content">
<div class="footer-section pure-u-1-4" id="footer-custom-text">
<b>Invidious</b>
<% if CONFIG.footer %>
<p><%=CONFIG.footer%></p>
<% else %>
<p><%=translate(locale, "default_invidious_footer_text")%></p>
<% end %>
</div> </div>
</div> <div class="footer-section">
<script src="/<%= JS_PATH %>/handlers.js?v=<%= ASSET_COMMIT %>"></script> <b class="footer-section-header"><%= translate(locale, "footer_navigation_section_header")%></b>
<script src="/<%= JS_PATH %>/themes.js?v=<%= ASSET_COMMIT %>"></script> <ul class="pure-menu-list footer-section-list">
<% if env.get? "user" %> <li class="pure-menu-item footer-section-item">
<script src="/<%= JS_PATH %>/sse.js?v=<%= ASSET_COMMIT %>"></script> <a href="/" title="<%= translate(locale, "footer_home_link")%>">
<script id="notification_data" type="application/json"> <%= translate(locale, "footer_home_link") %>
<%= </a>
{ </li>
"upload_text" => HTML.escape(translate(locale, "`x` uploaded a video")), <li class="pure-menu-item footer-section-item">
"live_upload_text" => HTML.escape(translate(locale, "`x` is live")) <a href="/feed/popular" title="<%= translate(locale, "Popular")%>">
}.to_pretty_json <%= translate(locale, "Popular") %>
%> </a>
</script> </li>
<% if CONFIG.enable_user_notifications %> <li class="pure-menu-item footer-section-item">
<script src="/<%= JS_PATH %>/notifications.js?v=<%= ASSET_COMMIT %>"></script> <a href="/feed/trending" title="<%= translate(locale, "Trending")%>" style="">
<% end %> <%= translate(locale, "Trending") %>
<% end %> </a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="/search" title="<%= translate(locale, "Search")%>">
<%= translate(locale, "Search") %>
</a>
</li>
</ul>
</div>
<div class="footer-section">
<b class="footer-section-header">Invidious</b>
<ul class="pure-menu-list footer-section-list">
<li class="pure-menu-item footer-section-item">
<a href="https://invidious.io" title="<%= translate(locale, "footer_project_website_link")%>">
<%= translate(locale, "footer_project_website_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://github.com/iv-org/invidious" title="<%= translate(locale, "footer_source_code_link")%>">
<%= translate(locale, "footer_source_code_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://github.com/iv-org/invidious/issues" title="<%= translate(locale, "footer_issue_tracker_link")%>" style="">
<%= translate(locale, "footer_issue_tracker_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://instances.invidious.io" title="<%= translate(locale, "footer_public_instances_link")%>">
<%= translate(locale, "footer_public_instances_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://invidious.io/donate" title="<%= translate(locale, "footer_donate_link")%>">
<%= translate(locale, "footer_donate_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://matrix.to/#/#invidious:matrix.org" title="<%= translate(locale, "footer_matrix_link")%>">
<%= translate(locale, "footer_matrix_link") %>
</a>
</li>
<footer class="pure-g"> </ul>
<div class="pure-u-1 pure-u-md-2-24"></div> </div>
<div class="h-box pure-u-1 pure-u-md-20-24" id="footer-content-container"> <% if CONFIG.instance_maintainer_email || CONFIG.modified_source_code_url || CONFIG.footer_instance_tos_link || CONFIG.footer_instance_privacy_policy_link %>
<div class="pure-u-1 footer-content"> <div class="footer-section">
<div class="footer-section pure-u-1-4" id="footer-custom-text"> <b class="footer-section-header">
<b>Invidious</b> <% if CONFIG.modified_source_code_url %>
<% if CONFIG.footer %> <%= translate(locale, "footer_instance_section_header_modified_source")%>
<p><%=CONFIG.footer%></p> <% else %>
<% else %> <%= translate(locale, "footer_instance_section_header")%>
<p><%=translate(locale, "default_invidious_footer_text")%></p> <% end %>
<% end %> </b>
<ul class="pure-menu-list footer-section-list">
<% if CONFIG.instance_maintainer_email %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape("mailto:#{CONFIG.instance_maintainer_email.not_nil!}")%>" title="<%= translate(locale, "footer_contact_link")%>">
<%= translate(locale, "footer_contact_link") %>
</a>
</li>
<% end %>
<% if CONFIG.modified_source_code_url %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape(CONFIG.modified_source_code_url.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_modified_source_code")%>">
<%= translate(locale, "footer_instance_section_modified_source_code") %>
</a>
</li>
<% end %>
<% if CONFIG.footer_instance_tos_link %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape(CONFIG.footer_instance_tos_link.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_tos")%>">
<%= translate(locale, "footer_instance_section_tos") %>
</a>
</li>
<% end %>
<% if CONFIG.footer_instance_privacy_policy_link %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape(CONFIG.footer_instance_privacy_policy_link.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_privacy_policy")%>">
<%= translate(locale, "footer_instance_section_privacy_policy") %>
</a>
</li>
<% end %>
</div> <% if CONFIG.footer_instance_donate_link %>
<div class="footer-section"> <li class="pure-menu-item footer-section-item">
<b class="footer-section-header"><%= translate(locale, "footer_navigation_section_header")%></b> <a href="<%=HTML.escape(CONFIG.footer_instance_donate_link.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_donate")%>">
<ul class="pure-menu-list footer-section-list"> <%= translate(locale, "footer_instance_section_donate") %>
<li class="pure-menu-item footer-section-item"> </a>
<a href="/" title="<%= translate(locale, "footer_home_link")%>"> </li>
<%= translate(locale, "footer_home_link") %> <% end %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="/feed/popular" title="<%= translate(locale, "Popular")%>">
<%= translate(locale, "Popular") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="/feed/trending" title="<%= translate(locale, "Trending")%>" style="">
<%= translate(locale, "Trending") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="/search" title="<%= translate(locale, "Search")%>">
<%= translate(locale, "Search") %>
</a>
</li>
</ul>
</div>
<div class="footer-section">
<b class="footer-section-header">Invidious</b>
<ul class="pure-menu-list footer-section-list">
<li class="pure-menu-item footer-section-item">
<a href="https://invidious.io" title="<%= translate(locale, "footer_project_homepage_link")%>">
<%= translate(locale, "footer_project_homepage_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://github.com/iv-org/invidious" title="<%= translate(locale, "footer_source_code_link")%>">
<%= translate(locale, "footer_source_code_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://github.com/iv-org/invidious/issues" title="<%= translate(locale, "footer_issue_tracker_link")%>" style="">
<%= translate(locale, "footer_issue_tracker_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://instances.invidious.io" title="<%= translate(locale, "footer_public_instances_link")%>">
<%= translate(locale, "footer_public_instances_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://invidious.io/donate" title="<%= translate(locale, "footer_donate_link")%>">
<%= translate(locale, "footer_donate_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="https://matrix.to/#/#invidious:matrix.org" title="<%= translate(locale, "footer_matrix_link")%>">
<%= translate(locale, "footer_matrix_link") %>
</a>
</li>
</ul> <% CONFIG.footer_instance_section_custom_fields.each do | field | %>
</div> <li class="pure-menu-item footer-section-item">
<% if CONFIG.instance_maintainer_email || CONFIG.modified_source_code_url || CONFIG.footer_instance_tos_link || CONFIG.footer_instance_privacy_policy_link %> <a href="<%=HTML.escape(field[1])%>" title="<%= HTML.escape(field[0]) %>">
<div class="footer-section"> <%= HTML.escape(field[0]) %>
<b class="footer-section-header"> </a>
<% if CONFIG.modified_source_code_url %> </li>
<%= translate(locale, "footer_instance_section_header_modified_source")%> <% end %>
<% else %> </ul>
<%= translate(locale, "footer_instance_section_header")%> </div>
<% end %> <% end %>
</b>
<ul class="pure-menu-list footer-section-list">
<% if CONFIG.instance_maintainer_email %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape("mailto:#{CONFIG.instance_maintainer_email.not_nil!}")%>" title="<%= translate(locale, "footer_contact_link")%>">
<%= translate(locale, "footer_contact_link") %>
</a>
</li>
<% end %>
<% if CONFIG.modified_source_code_url %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape(CONFIG.modified_source_code_url.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_modified_source_code")%>">
<%= translate(locale, "footer_instance_section_modified_source_code") %>
</a>
</li>
<% end %>
<% if CONFIG.footer_instance_tos_link %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape(CONFIG.footer_instance_tos_link.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_tos")%>">
<%= translate(locale, "footer_instance_section_tos") %>
</a>
</li>
<% end %>
<% if CONFIG.footer_instance_privacy_policy_link %>
<li class="pure-menu-item footer-section-item">
<a href="<%=HTML.escape(CONFIG.footer_instance_privacy_policy_link.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_privacy_policy")%>">
<%= translate(locale, "footer_instance_section_privacy_policy") %>
</a>
</li>
<% end %>
<% if CONFIG.footer_instance_donate_link %> <div class="footer-section">
<li class="pure-menu-item footer-section-item"> <b class="footer-section-header"><%= translate(locale, "footer_support_section_header")%></b>
<a href="<%=HTML.escape(CONFIG.footer_instance_donate_link.not_nil!)%>" title="<%= translate(locale, "footer_instance_section_donate")%>"> <ul class="pure-menu-list footer-section-list">
<%= translate(locale, "footer_instance_section_donate") %> <li class="pure-menu-item footer-section-item">
</a> <a href="https://github.com/iv-org/invidious/issues/new" title="<%= translate(locale, "footer_report_bug_link")%>">
</li> <%= translate(locale, "footer_report_bug_link") %>
<% end %> </a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="#" title="<%= translate(locale, "footer_faq_link")%>" style="">
<%= translate(locale, "footer_faq_link") %>
</a>
</li>
</ul>
</div>
</div>
<hr/>
<div class="footer-footer">
<span class="left">
<%
if CONFIG.invidious_companion.present?
companion_public_url = env.get("companion_public_url").as(String)
%>
<div class="box">You are currently using Backend: <%= current_backend ? companion_public_url : "Unable to get backend, this is bug, please report it!" %></div>
<% end %>
<% if CONFIG.modified_source_code_url %>
<%= translate(locale, "footer_current_version_modified") %>
<% else %>
<%= translate(locale, "Current version: ") %>
<% end %>
<% CONFIG.footer_instance_section_custom_fields.each do | field | %> <%= CURRENT_VERSION %>-<%= CURRENT_COMMIT %> @ <%= CURRENT_BRANCH %>
<li class="pure-menu-item footer-section-item"> </span>
<a href="<%=HTML.escape(field[1])%>" title="<%= HTML.escape(field[0]) %>"> <div class="right">
<%= HTML.escape(field[0]) %> <a href="/privacy" title="<%= translate(locale, "footer_privacy_policy_link")%>"><%= translate(locale, "footer_privacy_policy_link") %></a>
</a> <span> | </span>
</li> <a href="/licenses" title="<%= translate(locale, "footer_licences_link")%>"><%= translate(locale, "footer_licences_link") %></a>
<% end %> </div>
</ul> </div>
</div> </div>
<% end %> </div>
<div class="pure-u-1 pure-u-md-2-24"></div>
<div class="footer-section"> </footer>
<b class="footer-section-header"><%= translate(locale, "footer_support_section_header")%></b>
<ul class="pure-menu-list footer-section-list">
<li class="pure-menu-item footer-section-item">
<a href="https://github.com/iv-org/invidious/issues/new" title="<%= translate(locale, "footer_report_bug_link")%>">
<%= translate(locale, "footer_report_bug_link") %>
</a>
</li>
<li class="pure-menu-item footer-section-item">
<a href="#" title="<%= translate(locale, "footer_faq_link")%>" style="">
<%= translate(locale, "footer_faq_link") %>
</a>
</li>
</ul>
</div>
</div>
<hr/>
<div class="footer-footer">
<%
if CONFIG.invidious_companion.present?
companion_public_url = env.get("companion_public_url").as(String)
%>
<div class="box">You are currently using Backend: <%= current_backend ? companion_public_url : "Unable to get backend, this is bug, please report it!" %></div>
<% end %>
<span class="left">
<% if CONFIG.modified_source_code_url %>
<%= translate(locale, "footer_current_version_modified") %>
<% else %>
<%= translate(locale, "Current version: ") %>
<% end %>
<%= CURRENT_VERSION %>-<%= CURRENT_COMMIT %> @ <%= CURRENT_BRANCH %>
</span>
<div class="right">
<a href="/privacy" title="<%= translate(locale, "footer_privacy_policy_link")%>"><%= translate(locale, "footer_privacy_policy_link") %></a>
<span> | </span>
<a href="/licenses" title="<%= translate(locale, "footer_licences_link")%>"><%= translate(locale, "footer_licences_link") %></a>
</div>
</div>
</div>
</div>
<div class="pure-u-1 pure-u-md-2-24"></div>
</footer>
</body> </body>
</html> </html>

View File

@ -368,3 +368,5 @@
</fieldset> </fieldset>
</form> </form>
</div> </div>
<div id="footer_buffer"></div>