summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--assets/css/default.css33
-rw-r--r--assets/js/search.js13
-rw-r--r--src/invidious/views/search.ecr178
3 files changed, 113 insertions, 111 deletions
diff --git a/assets/css/default.css b/assets/css/default.css
index 793295d9..a76ecd48 100644
--- a/assets/css/default.css
+++ b/assets/css/default.css
@@ -495,7 +495,8 @@ video.video-js {
*/
.light-theme a:hover,
-.light-theme a:active {
+.light-theme a:active,
+.light-theme summary:hover {
color: #075A9E !important;
}
@@ -521,7 +522,8 @@ video.video-js {
@media (prefers-color-scheme: light) {
.no-theme a:hover,
- .no-theme a:active {
+ .no-theme a:active,
+ .no-theme summary:hover {
color: #075A9E !important;
}
@@ -551,7 +553,8 @@ video.video-js {
*/
.dark-theme a:hover,
-.dark-theme a:active {
+.dark-theme a:active,
+.dark-theme summary:hover {
color: rgb(0, 182, 240);
}
@@ -629,5 +632,25 @@ body.dark-theme {
}
#filters {
- display: none;
-} \ No newline at end of file
+ display: inline;
+ margin-top: 15px;
+}
+
+#filters > div {
+ display: inline-block;
+}
+
+#filters > summary {
+ display: inline-block;
+ margin-bottom: 15px;
+}
+
+#filters > summary::before {
+ content: "[ + ]";
+ font-size: 1.5em;
+}
+
+#filters[open] > summary::before {
+ content: "[ - ]";
+ font-size: 1.5em;
+}
diff --git a/assets/js/search.js b/assets/js/search.js
deleted file mode 100644
index 36edd053..00000000
--- a/assets/js/search.js
+++ /dev/null
@@ -1,13 +0,0 @@
-function toggle_comments(event) {
- var target = event.target;
- var body = document.getElementById('filters');
- if (body.style.display === 'flex') {
- target.innerHTML = '[ + ]';
- body.style.display = 'none';
- } else {
- target.innerHTML = '[ - ]';
- body.style.display = 'flex';
- }
-}
-
-document.getElementById('togglefilters').onclick = toggle_comments; \ No newline at end of file
diff --git a/src/invidious/views/search.ecr b/src/invidious/views/search.ecr
index 3fa9242b..fefc9fbb 100644
--- a/src/invidious/views/search.ecr
+++ b/src/invidious/views/search.ecr
@@ -2,99 +2,92 @@
<title><%= search_query.not_nil!.size > 30 ? HTML.escape(query.not_nil![0,30].rstrip(".") + "...") : HTML.escape(query.not_nil!) %> - Invidious</title>
<% end %>
-<h3>
- <a id="togglefilters" href="javascript:void(0)">[ + ]</a>
- <%= translate(locale, "filter") %>
-</h3>
-
-<noscript>
- <style>
- #filters {
- display: flex;
- }
- </style>
-</noscript>
-<div id="filters" class="pure-g h-box">
- <div class="pure-u-1-3 pure-u-md-1-5">
- <b><%= translate(locale, "date") %></b>
- <hr/>
- <% ["hour", "today", "week", "month", "year"].each do |date| %>
- <div class="pure-u-1 pure-md-1-5">
- <% if operator_hash.fetch("date", "all") == date %>
- <b><%= translate(locale, date) %></b>
- <% else %>
- <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?date:[a-z]+/, "") + " date:" + date) %>&page=<%= page %>">
- <%= translate(locale, date) %>
- </a>
- <% end %>
- </div>
- <% end %>
- </div>
- <div class="pure-u-1-3 pure-u-md-1-5">
- <b><%= translate(locale, "content_type") %></b>
- <hr/>
- <% ["video", "channel", "playlist", "movie", "show"].each do |content_type| %>
- <div class="pure-u-1 pure-md-1-5">
- <% if operator_hash.fetch("content_type", "all") == content_type %>
- <b><%= translate(locale, content_type) %></b>
- <% else %>
- <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?content_type:[a-z]+/, "") + " content_type:" + content_type) %>&page=<%= page %>">
- <%= translate(locale, content_type) %>
- </a>
- <% end %>
- </div>
- <% end %>
- </div>
- <div class="pure-u-1-3 pure-u-md-1-5">
- <b><%= translate(locale, "duration") %></b>
- <hr/>
- <% ["short", "long"].each do |duration| %>
- <div class="pure-u-1 pure-md-1-5">
- <% if operator_hash.fetch("duration", "all") == duration %>
- <b><%= translate(locale, duration) %></b>
- <% else %>
- <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?duration:[a-z]+/, "") + " duration:" + duration) %>&page=<%= page %>">
- <%= translate(locale, duration) %>
- </a>
- <% end %>
- </div>
- <% end %>
+<details id="filters">
+ <summary>
+ <h3 style="display:inline"> <%= translate(locale, "filter") %> </h3>
+ </summary>
+ <div id="filters" class="pure-g h-box">
+ <div class="pure-u-1-3 pure-u-md-1-5">
+ <b><%= translate(locale, "date") %></b>
+ <hr/>
+ <% ["hour", "today", "week", "month", "year"].each do |date| %>
+ <div class="pure-u-1 pure-md-1-5">
+ <% if operator_hash.fetch("date", "all") == date %>
+ <b><%= translate(locale, date) %></b>
+ <% else %>
+ <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?date:[a-z]+/, "") + " date:" + date) %>&page=<%= page %>">
+ <%= translate(locale, date) %>
+ </a>
+ <% end %>
+ </div>
+ <% end %>
+ </div>
+ <div class="pure-u-1-3 pure-u-md-1-5">
+ <b><%= translate(locale, "content_type") %></b>
+ <hr/>
+ <% ["video", "channel", "playlist", "movie", "show"].each do |content_type| %>
+ <div class="pure-u-1 pure-md-1-5">
+ <% if operator_hash.fetch("content_type", "all") == content_type %>
+ <b><%= translate(locale, content_type) %></b>
+ <% else %>
+ <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?content_type:[a-z]+/, "") + " content_type:" + content_type) %>&page=<%= page %>">
+ <%= translate(locale, content_type) %>
+ </a>
+ <% end %>
+ </div>
+ <% end %>
+ </div>
+ <div class="pure-u-1-3 pure-u-md-1-5">
+ <b><%= translate(locale, "duration") %></b>
+ <hr/>
+ <% ["short", "long"].each do |duration| %>
+ <div class="pure-u-1 pure-md-1-5">
+ <% if operator_hash.fetch("duration", "all") == duration %>
+ <b><%= translate(locale, duration) %></b>
+ <% else %>
+ <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?duration:[a-z]+/, "") + " duration:" + duration) %>&page=<%= page %>">
+ <%= translate(locale, duration) %>
+ </a>
+ <% end %>
+ </div>
+ <% end %>
+ </div>
+ <div class="pure-u-1-3 pure-u-md-1-5">
+ <b><%= translate(locale, "features") %></b>
+ <hr/>
+ <% ["hd", "subtitles", "creative_commons", "3d", "live", "purchased", "4k", "360", "location", "hdr"].each do |feature| %>
+ <div class="pure-u-1 pure-md-1-5">
+ <% if operator_hash.fetch("features", "all").includes?(feature) %>
+ <b><%= translate(locale, feature) %></b>
+ <% elsif operator_hash.has_key?("features") %>
+ <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/features:/, "features:" + feature + ",")) %>&page=<%= page %>">
+ <%= translate(locale, feature) %>
+ </a>
+ <% else %>
+ <a href="/search?q=<%= HTML.escape(query.not_nil! + " features:" + feature) %>&page=<%= page %>">
+ <%= translate(locale, feature) %>
+ </a>
+ <% end %>
+ </div>
+ <% end %>
+ </div>
+ <div class="pure-u-1-3 pure-u-md-1-5">
+ <b><%= translate(locale, "sort") %></b>
+ <hr/>
+ <% ["relevance", "rating", "date", "views"].each do |sort| %>
+ <div class="pure-u-1 pure-md-1-5">
+ <% if operator_hash.fetch("sort", "relevance") == sort %>
+ <b><%= translate(locale, sort) %></b>
+ <% else %>
+ <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?sort:[a-z]+/, "") + " sort:" + sort) %>&page=<%= page %>">
+ <%= translate(locale, sort) %>
+ </a>
+ <% end %>
+ </div>
+ <% end %>
+ </div>
</div>
- <div class="pure-u-1-3 pure-u-md-1-5">
- <b><%= translate(locale, "features") %></b>
- <hr/>
- <% ["hd", "subtitles", "creative_commons", "3d", "live", "purchased", "4k", "360", "location", "hdr"].each do |feature| %>
- <div class="pure-u-1 pure-md-1-5">
- <% if operator_hash.fetch("features", "all").includes?(feature) %>
- <b><%= translate(locale, feature) %></b>
- <% elsif operator_hash.has_key?("features") %>
- <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/features:/, "features:" + feature + ",")) %>&page=<%= page %>">
- <%= translate(locale, feature) %>
- </a>
- <% else %>
- <a href="/search?q=<%= HTML.escape(query.not_nil! + " features:" + feature) %>&page=<%= page %>">
- <%= translate(locale, feature) %>
- </a>
- <% end %>
- </div>
- <% end %>
- </div>
- <div class="pure-u-1-3 pure-u-md-1-5">
- <b><%= translate(locale, "sort") %></b>
- <hr/>
- <% ["relevance", "rating", "date", "views"].each do |sort| %>
- <div class="pure-u-1 pure-md-1-5">
- <% if operator_hash.fetch("sort", "relevance") == sort %>
- <b><%= translate(locale, sort) %></b>
- <% else %>
- <a href="/search?q=<%= HTML.escape(query.not_nil!.gsub(/ ?sort:[a-z]+/, "") + " sort:" + sort) %>&page=<%= page %>">
- <%= translate(locale, sort) %>
- </a>
- <% end %>
- </div>
- <% end %>
- </div>
-</div>
+</details>
<hr/>
@@ -141,4 +134,3 @@
<% end %>
</div>
</div>
-<script src="/js/search.js?v=<%= ASSET_COMMIT %>"></script> \ No newline at end of file