Subtitle state will now be remembered across page loads by cookie

This commit is contained in:
Erik Thuning 2022-02-21 18:20:52 +01:00
parent 74203f4807
commit ebcfee3030

@ -66,7 +66,7 @@ function init() {
setupSwitching(mainstream)
setupSync(mainstream)
setupPlayback(body, mainstream)
setupSubs(presentation.subtitles)
setupSubs(presentation.subtitles, cookies.subtitles)
}
awaitLoad(function() {
setupBuffer(mainstream)
@ -159,6 +159,12 @@ function setCookie(name, value) {
document.cookie = cookie
}
function delCookie(name) {
var cookie = name + '='
cookie += ';samesite=strict;expires=Thu, 01 Jan 1970 00:00:01 GMT'
document.cookie = cookie
}
function swapText(element) {
var oldtext = element.title
element.title = element.dataset['title_alt']
@ -589,7 +595,7 @@ function setupSpeed() {
button.addEventListener('click', setSpeed)})
}
function setupSubs(subs) {
function setupSubs(subs, subCookie) {
var button = document.querySelector('#subtitles-button')
var icons = document.querySelectorAll('#subtitles-button > svg > use')
@ -611,13 +617,19 @@ function setupSubs(subs) {
var track = mainstream.textTracks[0]
if(track.mode == 'disabled') {
track.mode = 'showing'
setCookie('subtitles', 'on')
} else {
track.mode = 'disabled'
delCookie('subtitles')
}
swapText(button)
}
document.querySelector('#subtitles-button')
.addEventListener('click', toggleSubs)
if(subCookie == 'on') {
toggleSubs(null)
}
}
function setupSwitching(mainstream) {