X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fassets%2Fplayer%2Fpeertube-player-local-storage.ts;h=d4cbda3a9164d5a029f3ce603705b22e5189444a;hb=4b8463dee32f2b7c460aa3a8d74dfcf5de160acf;hp=cf2cfb472e6b4bbdf80e41e1eecd810847f5ea40;hpb=dc48fdbe68e9dd3a3a6028181e61d8595d98e654;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/assets/player/peertube-player-local-storage.ts b/client/src/assets/player/peertube-player-local-storage.ts index cf2cfb472..d4cbda3a9 100644 --- a/client/src/assets/player/peertube-player-local-storage.ts +++ b/client/src/assets/player/peertube-player-local-storage.ts @@ -45,6 +45,7 @@ function saveTheaterInStore (enabled: boolean) { } function saveAverageBandwidth (value: number) { + /** used to choose the most fitting resolution */ return setLocalStorage('average-bandwidth', value.toString()) } @@ -68,9 +69,10 @@ function getStoredLastSubtitle () { return getLocalStorage('last-subtitle') } -function saveVideoWatchHistory(videoUUID: string, duration: number) { +function saveVideoWatchHistory (videoUUID: string, duration: number) { return setLocalStorage(`video-watch-history`, JSON.stringify({ ...getStoredVideoWatchHistory(), + [videoUUID]: { duration, date: `${(new Date()).toISOString()}` @@ -78,11 +80,14 @@ function saveVideoWatchHistory(videoUUID: string, duration: number) { })) } -function getStoredVideoWatchHistory(videoUUID?: string) { +function getStoredVideoWatchHistory (videoUUID?: string) { let data try { - data = JSON.parse(getLocalStorage('video-watch-history')) + const value = getLocalStorage('video-watch-history') + if (!value) return {} + + data = JSON.parse(value) } catch (error) { console.error('Cannot parse video watch history from local storage: ', error) } @@ -94,8 +99,9 @@ function getStoredVideoWatchHistory(videoUUID?: string) { return data } -function cleanupVideoWatch() { +function cleanupVideoWatch () { const data = getStoredVideoWatchHistory() + if (!data) return const newData = Object.keys(data).reduce((acc, videoUUID) => { const date = Date.parse(data[videoUUID].date)