mirror of
https://github.com/iv-org/invidious.git
synced 2024-12-25 15:29:27 -05: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:
parent
7f3ef12297
commit
a6a0bbf398
src/invidious
@ -42,6 +42,7 @@ struct ConfigPreferences
|
|||||||
property volume : Int32 = 100
|
property volume : Int32 = 100
|
||||||
property vr_mode : Bool = true
|
property vr_mode : Bool = true
|
||||||
property show_nick : Bool = true
|
property show_nick : Bool = true
|
||||||
|
property remember_position : Bool = false
|
||||||
|
|
||||||
def to_tuple
|
def to_tuple
|
||||||
{% begin %}
|
{% begin %}
|
||||||
|
@ -70,6 +70,10 @@ module Invidious::Routes::PreferencesRoute
|
|||||||
vr_mode ||= "off"
|
vr_mode ||= "off"
|
||||||
vr_mode = vr_mode == "on"
|
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 = env.params.body["show_nick"]?.try &.as(String)
|
||||||
show_nick ||= "off"
|
show_nick ||= "off"
|
||||||
show_nick = show_nick == "on"
|
show_nick = show_nick == "on"
|
||||||
@ -165,6 +169,7 @@ module Invidious::Routes::PreferencesRoute
|
|||||||
extend_desc: extend_desc,
|
extend_desc: extend_desc,
|
||||||
vr_mode: vr_mode,
|
vr_mode: vr_mode,
|
||||||
show_nick: show_nick,
|
show_nick: show_nick,
|
||||||
|
remember_position: remember_position,
|
||||||
}.to_json).to_json
|
}.to_json).to_json
|
||||||
|
|
||||||
if user = env.get? "user"
|
if user = env.get? "user"
|
||||||
|
@ -53,6 +53,7 @@ struct Preferences
|
|||||||
property video_loop : Bool = CONFIG.default_user_preferences.video_loop
|
property video_loop : Bool = CONFIG.default_user_preferences.video_loop
|
||||||
property extend_desc : Bool = CONFIG.default_user_preferences.extend_desc
|
property extend_desc : Bool = CONFIG.default_user_preferences.extend_desc
|
||||||
property volume : Int32 = CONFIG.default_user_preferences.volume
|
property volume : Int32 = CONFIG.default_user_preferences.volume
|
||||||
|
property remember_position : Bool = CONFIG.default_user_preferences.remember_position
|
||||||
|
|
||||||
module BoolToString
|
module BoolToString
|
||||||
def self.to_json(value : String, json : JSON::Builder)
|
def self.to_json(value : String, json : JSON::Builder)
|
||||||
|
@ -246,6 +246,7 @@ struct VideoPreferences
|
|||||||
property video_start : Float64 | Int32
|
property video_start : Float64 | Int32
|
||||||
property volume : Int32
|
property volume : Int32
|
||||||
property vr_mode : Bool
|
property vr_mode : Bool
|
||||||
|
property remember_position : Bool
|
||||||
end
|
end
|
||||||
|
|
||||||
struct Video
|
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 }
|
extend_desc = query["extend_desc"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
||||||
volume = query["volume"]?.try &.to_i?
|
volume = query["volume"]?.try &.to_i?
|
||||||
vr_mode = query["vr_mode"]?.try { |q| (q == "true" || q == "1").to_unsafe }
|
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
|
if preferences
|
||||||
# region ||= preferences.region
|
# region ||= preferences.region
|
||||||
@ -1110,6 +1112,7 @@ def process_video_params(query, preferences)
|
|||||||
extend_desc ||= preferences.extend_desc.to_unsafe
|
extend_desc ||= preferences.extend_desc.to_unsafe
|
||||||
volume ||= preferences.volume
|
volume ||= preferences.volume
|
||||||
vr_mode ||= preferences.vr_mode.to_unsafe
|
vr_mode ||= preferences.vr_mode.to_unsafe
|
||||||
|
remember_position ||= preferences.remember_position.to_unsafe
|
||||||
end
|
end
|
||||||
|
|
||||||
annotations ||= CONFIG.default_user_preferences.annotations.to_unsafe
|
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
|
extend_desc ||= CONFIG.default_user_preferences.extend_desc.to_unsafe
|
||||||
volume ||= CONFIG.default_user_preferences.volume
|
volume ||= CONFIG.default_user_preferences.volume
|
||||||
vr_mode ||= CONFIG.default_user_preferences.vr_mode.to_unsafe
|
vr_mode ||= CONFIG.default_user_preferences.vr_mode.to_unsafe
|
||||||
|
remember_position ||= CONFIG.default_user_preferences.remember_position.to_unsafe
|
||||||
|
|
||||||
annotations = annotations == 1
|
annotations = annotations == 1
|
||||||
autoplay = autoplay == 1
|
autoplay = autoplay == 1
|
||||||
@ -1140,6 +1144,7 @@ def process_video_params(query, preferences)
|
|||||||
video_loop = video_loop == 1
|
video_loop = video_loop == 1
|
||||||
extend_desc = extend_desc == 1
|
extend_desc = extend_desc == 1
|
||||||
vr_mode = vr_mode == 1
|
vr_mode = vr_mode == 1
|
||||||
|
remember_position = remember_position == 1
|
||||||
|
|
||||||
if CONFIG.disabled?("dash") && quality == "dash"
|
if CONFIG.disabled?("dash") && quality == "dash"
|
||||||
quality = "high"
|
quality = "high"
|
||||||
@ -1190,6 +1195,7 @@ def process_video_params(query, preferences)
|
|||||||
video_start: video_start,
|
video_start: video_start,
|
||||||
volume: volume,
|
volume: volume,
|
||||||
vr_mode: vr_mode,
|
vr_mode: vr_mode,
|
||||||
|
remember_position: remember_position,
|
||||||
})
|
})
|
||||||
|
|
||||||
return params
|
return params
|
||||||
|
@ -116,6 +116,11 @@
|
|||||||
<input name="vr_mode" id="vr_mode" type="checkbox" <% if preferences.vr_mode %>checked<% end %>>
|
<input name="vr_mode" id="vr_mode" type="checkbox" <% if preferences.vr_mode %>checked<% end %>>
|
||||||
</div>
|
</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>
|
<legend><%= translate(locale, "preferences_category_visual") %></legend>
|
||||||
|
|
||||||
<div class="pure-control-group">
|
<div class="pure-control-group">
|
||||||
|
Loading…
Reference in New Issue
Block a user