mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-30 20:22:00 +00:00 
			
		
		
		
	Add remember_position field to the Preferences and VideoPreferences structs, and add a checkbox in the preferences page to toggle it
This commit is contained in:
		| @@ -42,6 +42,7 @@ struct ConfigPreferences | ||||
|   property volume : Int32 = 100 | ||||
|   property vr_mode : Bool = true | ||||
|   property show_nick : Bool = true | ||||
|   property remember_position : Bool = false | ||||
|  | ||||
|   def to_tuple | ||||
|     {% begin %} | ||||
|   | ||||
| @@ -70,6 +70,10 @@ module Invidious::Routes::PreferencesRoute | ||||
|     vr_mode ||= "off" | ||||
|     vr_mode = vr_mode == "on" | ||||
|  | ||||
|     remember_position = env.params.body["remember_position"]?.try &.as(String) | ||||
|     remember_position ||= "off" | ||||
|     remember_position = remember_position == "on" | ||||
|  | ||||
|     show_nick = env.params.body["show_nick"]?.try &.as(String) | ||||
|     show_nick ||= "off" | ||||
|     show_nick = show_nick == "on" | ||||
| @@ -165,6 +169,7 @@ module Invidious::Routes::PreferencesRoute | ||||
|       extend_desc:                 extend_desc, | ||||
|       vr_mode:                     vr_mode, | ||||
|       show_nick:                   show_nick, | ||||
|       remember_position:           remember_position, | ||||
|     }.to_json).to_json | ||||
|  | ||||
|     if user = env.get? "user" | ||||
|   | ||||
| @@ -53,6 +53,7 @@ struct Preferences | ||||
|   property video_loop : Bool = CONFIG.default_user_preferences.video_loop | ||||
|   property extend_desc : Bool = CONFIG.default_user_preferences.extend_desc | ||||
|   property volume : Int32 = CONFIG.default_user_preferences.volume | ||||
|   property remember_position : Bool = CONFIG.default_user_preferences.remember_position | ||||
|  | ||||
|   module BoolToString | ||||
|     def self.to_json(value : String, json : JSON::Builder) | ||||
|   | ||||
| @@ -246,6 +246,7 @@ struct VideoPreferences | ||||
|   property video_start : Float64 | Int32 | ||||
|   property volume : Int32 | ||||
|   property vr_mode : Bool | ||||
|   property remember_position : Bool | ||||
| end | ||||
|  | ||||
| struct Video | ||||
| @@ -1090,6 +1091,7 @@ def process_video_params(query, preferences) | ||||
|   extend_desc = query["extend_desc"]?.try { |q| (q == "true" || q == "1").to_unsafe } | ||||
|   volume = query["volume"]?.try &.to_i? | ||||
|   vr_mode = query["vr_mode"]?.try { |q| (q == "true" || q == "1").to_unsafe } | ||||
|   remember_position = query["remember_position"]?.try { |q| (q == "true" || q == "1").to_unsafe } | ||||
|  | ||||
|   if preferences | ||||
|     # region ||= preferences.region | ||||
| @@ -1110,6 +1112,7 @@ def process_video_params(query, preferences) | ||||
|     extend_desc ||= preferences.extend_desc.to_unsafe | ||||
|     volume ||= preferences.volume | ||||
|     vr_mode ||= preferences.vr_mode.to_unsafe | ||||
|     remember_position ||= preferences.remember_position.to_unsafe | ||||
|   end | ||||
|  | ||||
|   annotations ||= CONFIG.default_user_preferences.annotations.to_unsafe | ||||
| @@ -1129,6 +1132,7 @@ def process_video_params(query, preferences) | ||||
|   extend_desc ||= CONFIG.default_user_preferences.extend_desc.to_unsafe | ||||
|   volume ||= CONFIG.default_user_preferences.volume | ||||
|   vr_mode ||= CONFIG.default_user_preferences.vr_mode.to_unsafe | ||||
|   remember_position ||= CONFIG.default_user_preferences.remember_position.to_unsafe | ||||
|  | ||||
|   annotations = annotations == 1 | ||||
|   autoplay = autoplay == 1 | ||||
| @@ -1140,6 +1144,7 @@ def process_video_params(query, preferences) | ||||
|   video_loop = video_loop == 1 | ||||
|   extend_desc = extend_desc == 1 | ||||
|   vr_mode = vr_mode == 1 | ||||
|   remember_position = remember_position == 1 | ||||
|  | ||||
|   if CONFIG.disabled?("dash") && quality == "dash" | ||||
|     quality = "high" | ||||
| @@ -1190,6 +1195,7 @@ def process_video_params(query, preferences) | ||||
|     video_start:        video_start, | ||||
|     volume:             volume, | ||||
|     vr_mode:            vr_mode, | ||||
|     remember_position:  remember_position, | ||||
|   }) | ||||
|  | ||||
|   return params | ||||
|   | ||||
| @@ -116,6 +116,11 @@ | ||||
|                 <input name="vr_mode" id="vr_mode" type="checkbox" <% if preferences.vr_mode %>checked<% end %>> | ||||
|             </div> | ||||
|  | ||||
|             <div class="pure-control-group"> | ||||
|                 <label for="remember_position">Remember the current video time:</label> | ||||
|                 <input name="remember_position" id="remember_position" type="checkbox" <% if preferences.remember_position %>checked<% end %>> | ||||
|             </div> | ||||
|  | ||||
|             <legend><%= translate(locale, "preferences_category_visual") %></legend> | ||||
|  | ||||
|             <div class="pure-control-group"> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 bbielsa
					bbielsa