From 39289e64b7063c31a9db200c7c777d32312ae37c Mon Sep 17 00:00:00 2001 From: sh4dowb Date: Mon, 11 Nov 2019 19:06:06 +0300 Subject: [PATCH] Added "Read More" button for video descriptions --- src/invidious.cr | 5 +++++ src/invidious/helpers/helpers.cr | 1 + src/invidious/users.cr | 1 + src/invidious/videos.cr | 6 ++++++ src/invidious/views/preferences.ecr | 6 ++++++ src/invidious/views/watch.ecr | 13 ++++++++++++- 6 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/invidious.cr b/src/invidious.cr index 94ea1d92..608299ab 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -1934,6 +1934,10 @@ post "/preferences" do |env| video_loop ||= "off" video_loop = video_loop == "on" + extend_desc = env.params.body["extend_desc"]?.try &.as(String) + extend_desc ||= "off" + extend_desc = extend_desc == "on" + annotations = env.params.body["annotations"]?.try &.as(String) annotations ||= "off" annotations = annotations == "on" @@ -2052,6 +2056,7 @@ post "/preferences" do |env| thin_mode: thin_mode, unseen_only: unseen_only, video_loop: video_loop, + extend_desc: extend_desc, volume: volume, }.to_json).to_json diff --git a/src/invidious/helpers/helpers.cr b/src/invidious/helpers/helpers.cr index 2341d3be..379307e7 100644 --- a/src/invidious/helpers/helpers.cr +++ b/src/invidious/helpers/helpers.cr @@ -149,6 +149,7 @@ struct ConfigPreferences thin_mode: {type: Bool, default: false}, unseen_only: {type: Bool, default: false}, video_loop: {type: Bool, default: false}, + extend_desc: {type: Bool, default: false}, volume: {type: Int32, default: 100}, }) end diff --git a/src/invidious/users.cr b/src/invidious/users.cr index afb100f2..33f0fa2c 100644 --- a/src/invidious/users.cr +++ b/src/invidious/users.cr @@ -92,6 +92,7 @@ struct Preferences thin_mode: {type: Bool, default: CONFIG.default_user_preferences.thin_mode}, unseen_only: {type: Bool, default: CONFIG.default_user_preferences.unseen_only}, video_loop: {type: Bool, default: CONFIG.default_user_preferences.video_loop}, + extend_desc: {type: Bool, default: CONFIG.default_user_preferences.extend_desc}, volume: {type: Int32, default: CONFIG.default_user_preferences.volume}, }) end diff --git a/src/invidious/videos.cr b/src/invidious/videos.cr index e9aee092..4e9eab23 100644 --- a/src/invidious/videos.cr +++ b/src/invidious/videos.cr @@ -240,6 +240,7 @@ struct VideoPreferences speed: (Float32 | Float64), video_end: (Float64 | Int32), video_loop: Bool, + extend_desc: Bool, video_start: (Float64 | Int32), volume: Int32, }) @@ -1298,6 +1299,7 @@ def process_video_params(query, preferences) related_videos = query["related_videos"]?.try { |q| (q == "true" || q == "1").to_unsafe } speed = query["speed"]?.try &.rchop("x").to_f? video_loop = query["loop"]?.try { |q| (q == "true" || q == "1").to_unsafe } + extend_desc = query["extend_desc"]?.try { |q| (q == "true" || q == "1").to_unsafe } volume = query["volume"]?.try &.to_i? if preferences @@ -1315,6 +1317,7 @@ def process_video_params(query, preferences) related_videos ||= preferences.related_videos.to_unsafe speed ||= preferences.speed video_loop ||= preferences.video_loop.to_unsafe + extend_desc ||= preferences.extend_desc.to_unsafe volume ||= preferences.volume end @@ -1331,6 +1334,7 @@ def process_video_params(query, preferences) related_videos ||= CONFIG.default_user_preferences.related_videos.to_unsafe speed ||= CONFIG.default_user_preferences.speed video_loop ||= CONFIG.default_user_preferences.video_loop.to_unsafe + extend_desc ||= CONFIG.default_user_preferences.extend_desc.to_unsafe volume ||= CONFIG.default_user_preferences.volume annotations = annotations == 1 @@ -1341,6 +1345,7 @@ def process_video_params(query, preferences) local = local == 1 related_videos = related_videos == 1 video_loop = video_loop == 1 + extend_desc = extend_desc == 1 if CONFIG.disabled?("dash") && quality == "dash" quality = "high" @@ -1386,6 +1391,7 @@ def process_video_params(query, preferences) speed: speed, video_end: video_end, video_loop: video_loop, + extend_desc: extend_desc, video_start: video_start, volume: volume, ) diff --git a/src/invidious/views/preferences.ecr b/src/invidious/views/preferences.ecr index 17e5804e..16dc828d 100644 --- a/src/invidious/views/preferences.ecr +++ b/src/invidious/views/preferences.ecr @@ -101,6 +101,12 @@ function update_value(element) { checked<% end %>> +
+ + checked<% end %>> +
+ + <%= translate(locale, "Visual preferences") %>
diff --git a/src/invidious/views/watch.ecr b/src/invidious/views/watch.ecr index df61abc5..60012d48 100644 --- a/src/invidious/views/watch.ecr +++ b/src/invidious/views/watch.ecr @@ -187,7 +187,18 @@ var video_data = {

- <%= video.description_html %> + <% if video.description.size < 200 || params.extend_desc %> + <%= video.description_html %> + <% else %> +
+ <%= video.description_html %> +
+ + <% end %>