Fix error when cookies are disabled

pull/4208/head
Chocobozzz 2021-06-25 15:40:59 +02:00
parent 2b58ca796d
commit c6bfbaebe7
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
1 changed files with 9 additions and 4 deletions

View File

@ -69,9 +69,10 @@ function getStoredLastSubtitle () {
return getLocalStorage('last-subtitle') return getLocalStorage('last-subtitle')
} }
function saveVideoWatchHistory(videoUUID: string, duration: number) { function saveVideoWatchHistory (videoUUID: string, duration: number) {
return setLocalStorage(`video-watch-history`, JSON.stringify({ return setLocalStorage(`video-watch-history`, JSON.stringify({
...getStoredVideoWatchHistory(), ...getStoredVideoWatchHistory(),
[videoUUID]: { [videoUUID]: {
duration, duration,
date: `${(new Date()).toISOString()}` date: `${(new Date()).toISOString()}`
@ -79,11 +80,14 @@ function saveVideoWatchHistory(videoUUID: string, duration: number) {
})) }))
} }
function getStoredVideoWatchHistory(videoUUID?: string) { function getStoredVideoWatchHistory (videoUUID?: string) {
let data let data
try { try {
data = JSON.parse(getLocalStorage('video-watch-history')) const value = getLocalStorage('video-watch-history')
if (!value) return {}
data = JSON.parse(value)
} catch (error) { } catch (error) {
console.error('Cannot parse video watch history from local storage: ', error) console.error('Cannot parse video watch history from local storage: ', error)
} }
@ -95,8 +99,9 @@ function getStoredVideoWatchHistory(videoUUID?: string) {
return data return data
} }
function cleanupVideoWatch() { function cleanupVideoWatch () {
const data = getStoredVideoWatchHistory() const data = getStoredVideoWatchHistory()
if (!data) return
const newData = Object.keys(data).reduce((acc, videoUUID) => { const newData = Object.keys(data).reduce((acc, videoUUID) => {
const date = Date.parse(data[videoUUID].date) const date = Date.parse(data[videoUUID].date)