diff --git a/src/invidious.cr b/src/invidious.cr index d898176c..dc52467e 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -799,6 +799,10 @@ post "/preferences" do |env| captions_2 = env.params.body["captions_2"]?.try &.as(String) || "" captions = [captions_0, captions_1, captions_2] + related_videos = env.params.body["related_videos"]?.try &.as(String) + related_videos ||= "off" + related_videos = related_videos == "on" + redirect_feed = env.params.body["redirect_feed"]?.try &.as(String) redirect_feed ||= "off" redirect_feed = redirect_feed == "on" @@ -837,6 +841,7 @@ post "/preferences" do |env| "volume" => volume, "comments" => comments, "captions" => captions, + "related_videos" => related_videos, "redirect_feed" => redirect_feed, "dark_mode" => dark_mode, "thin_mode" => thin_mode, diff --git a/src/invidious/users.cr b/src/invidious/users.cr index 7ffd5400..fa3a5f6e 100644 --- a/src/invidious/users.cr +++ b/src/invidious/users.cr @@ -27,19 +27,20 @@ class User end DEFAULT_USER_PREFERENCES = Preferences.from_json({ - "video_loop" => false, - "autoplay" => false, - "speed" => 1.0, - "quality" => "hd720", - "volume" => 100, - "comments" => ["youtube", ""], - "captions" => ["", "", ""], - "dark_mode" => false, - "thin_mode " => false, - "max_results" => 40, - "sort" => "published", - "latest_only" => false, - "unseen_only" => false, + "video_loop" => false, + "autoplay" => false, + "speed" => 1.0, + "quality" => "hd720", + "volume" => 100, + "comments" => ["youtube", ""], + "captions" => ["", "", ""], + "related_videos" => true, + "dark_mode" => false, + "thin_mode " => false, + "max_results" => 40, + "sort" => "published", + "latest_only" => false, + "unseen_only" => false, }.to_json) class Preferences @@ -85,6 +86,10 @@ class Preferences type: Bool, default: false, }, + related_videos: { + type: Bool, + default: true, + }, dark_mode: Bool, thin_mode: { type: Bool, diff --git a/src/invidious/views/preferences.ecr b/src/invidious/views/preferences.ecr index 5ee98141..cdd2eb42 100644 --- a/src/invidious/views/preferences.ecr +++ b/src/invidious/views/preferences.ecr @@ -75,7 +75,7 @@ function update_value(element) {
- +
+
+ + checked<% end %>> +
+ Visual preferences +
checked<% end %>> @@ -101,6 +107,7 @@ function update_value(element) {
Subscription preferences +
checked<% end %>> @@ -136,6 +143,7 @@ function update_value(element) {
Data preferences +
Clear watch history
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr index b90c46aa..223af75f 100644 --- a/src/invidious/views/watch.ecr +++ b/src/invidious/views/watch.ecr @@ -113,6 +113,7 @@
+ <% if preferences && preferences.related_videos %>
<% rvs.each do |rv| %> <% if rv.has_key?("id") %> @@ -129,6 +130,7 @@ <% end %> <% end %>
+ <% end %>