]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/assets/player/peertube-player-local-storage.ts
dac54c5a4d5f2f96499508e2b491017b8f98d265
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / peertube-player-local-storage.ts
1 function getStoredVolume () {
2 const value = getLocalStorage('volume')
3 if (value !== null && value !== undefined) {
4 const valueNumber = parseFloat(value)
5 if (isNaN(valueNumber)) return undefined
6
7 return valueNumber
8 }
9
10 return undefined
11 }
12
13 function getStoredMute () {
14 const value = getLocalStorage('mute')
15 if (value !== null && value !== undefined) return value === 'true'
16
17 return undefined
18 }
19
20 function getStoredTheater () {
21 const value = getLocalStorage('theater-enabled')
22 if (value !== null && value !== undefined) return value === 'true'
23
24 return undefined
25 }
26
27 function saveVolumeInStore (value: number) {
28 return setLocalStorage('volume', value.toString())
29 }
30
31 function saveMuteInStore (value: boolean) {
32 return setLocalStorage('mute', value.toString())
33 }
34
35 function saveTheaterInStore (enabled: boolean) {
36 return setLocalStorage('theater-enabled', enabled.toString())
37 }
38
39 function saveAverageBandwidth (value: number) {
40 return setLocalStorage('average-bandwidth', value.toString())
41 }
42
43 function getAverageBandwidthInStore () {
44 const value = getLocalStorage('average-bandwidth')
45 if (value !== null && value !== undefined) {
46 const valueNumber = parseInt(value, 10)
47 if (isNaN(valueNumber)) return undefined
48
49 return valueNumber
50 }
51
52 return undefined
53 }
54
55 // ---------------------------------------------------------------------------
56
57 export {
58 getStoredVolume,
59 getStoredMute,
60 getStoredTheater,
61 saveVolumeInStore,
62 saveMuteInStore,
63 saveTheaterInStore,
64 saveAverageBandwidth,
65 getAverageBandwidthInStore
66 }
67
68 // ---------------------------------------------------------------------------
69
70 const KEY_PREFIX = 'peertube-videojs-'
71
72 function getLocalStorage (key: string) {
73 try {
74 return localStorage.getItem(KEY_PREFIX + key)
75 } catch {
76 return undefined
77 }
78 }
79
80 function setLocalStorage (key: string, value: string) {
81 try {
82 localStorage.setItem(KEY_PREFIX + key, value)
83 } catch { /* empty */
84 }
85 }