fix(pages_enabled): hide search UI and block all search routes when disabled

- Hide navbar search box when CONFIG.page_enabled?("search") is false
- Keep Invidious logo visible with proper width when search bar is hidden
- Hide search widget on search_homepage when search is disabled
- Block /results, /api/v1/search/suggestions in before_all guard
- Block /hashtag/* and /api/v1/hashtag/* when search is disabled
This commit is contained in:
NorkzYT 2026-03-22 21:42:11 +00:00
parent ea36b2ba4b
commit 562389bc6d
3 changed files with 10 additions and 2 deletions

View File

@ -150,7 +150,9 @@ module Invidious::Routes::BeforeAll
"popular" "popular"
when "/feed/trending", "/api/v1/trending" when "/feed/trending", "/api/v1/trending"
"trending" "trending"
when "/search", "/api/v1/search" when "/search", "/api/v1/search", "/api/v1/search/suggestions", "/results"
"search"
when .starts_with?("/hashtag/"), .starts_with?("/api/v1/hashtag/")
"search" "search"
else else
nil nil

View File

@ -12,9 +12,11 @@
<div class="pure-u-1" id="logo"> <div class="pure-u-1" id="logo">
<h1 href="/" class="pure-menu-heading">Invidious</h1> <h1 href="/" class="pure-menu-heading">Invidious</h1>
</div> </div>
<% if CONFIG.page_enabled?("search") %>
<div class="pure-u-1-4"></div> <div class="pure-u-1-4"></div>
<div class="pure-u-1 pure-u-md-12-24 searchbar"> <div class="pure-u-1 pure-u-md-12-24 searchbar">
<% autofocus = true %><%= rendered "components/search_box" %> <% autofocus = true %><%= rendered "components/search_box" %>
</div> </div>
<div class="pure-u-1-4"></div> <div class="pure-u-1-4"></div>
<% end %>
</div> </div>

View File

@ -31,13 +31,17 @@
<div class="pure-g"> <div class="pure-g">
<div class="pure-u-1 pure-u-xl-20-24" id="contents"> <div class="pure-u-1 pure-u-xl-20-24" id="contents">
<div class="pure-g navbar h-box"> <div class="pure-g navbar h-box">
<% if navbar_search %> <% if navbar_search && CONFIG.page_enabled?("search") %>
<div class="pure-u-1 pure-u-md-4-24"> <div class="pure-u-1 pure-u-md-4-24">
<a href="/" class="index-link pure-menu-heading">Invidious</a> <a href="/" class="index-link pure-menu-heading">Invidious</a>
</div> </div>
<div class="pure-u-1 pure-u-md-12-24 searchbar"> <div class="pure-u-1 pure-u-md-12-24 searchbar">
<% autofocus = false %><%= rendered "components/search_box" %> <% autofocus = false %><%= rendered "components/search_box" %>
</div> </div>
<% elsif navbar_search %>
<div class="pure-u-1 pure-u-md-16-24">
<a href="/" class="index-link pure-menu-heading">Invidious</a>
</div>
<% end %> <% end %>
<div class="pure-u-1 pure-u-md-8-24 user-field"> <div class="pure-u-1 pure-u-md-8-24 user-field">