]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/assets/player/peertube-player-local-storage.ts
add parseBytes utility function and tests (#1239)
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / peertube-player-local-storage.ts
CommitLineData
7b3a99d5
C
1function 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
13function getStoredMute () {
14 const value = getLocalStorage('mute')
15 if (value !== null && value !== undefined) return value === 'true'
16
17 return undefined
18}
19
20function getStoredTheater () {
21 const value = getLocalStorage('theater-enabled')
22 if (value !== null && value !== undefined) return value === 'true'
23
24 return undefined
25}
26
27function saveVolumeInStore (value: number) {
28 return setLocalStorage('volume', value.toString())
29}
30
31function saveMuteInStore (value: boolean) {
32 return setLocalStorage('mute', value.toString())
33}
34
35function saveTheaterInStore (enabled: boolean) {
36 return setLocalStorage('theater-enabled', enabled.toString())
37}
38
39function saveAverageBandwidth (value: number) {
40 return setLocalStorage('average-bandwidth', value.toString())
41}
42
43function 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
7b3a99d5
C
55// ---------------------------------------------------------------------------
56
57export {
58 getStoredVolume,
59 getStoredMute,
60 getStoredTheater,
61 saveVolumeInStore,
62 saveMuteInStore,
63 saveTheaterInStore,
64 saveAverageBandwidth,
65 getAverageBandwidthInStore
66}
67
68// ---------------------------------------------------------------------------
69
70const KEY_PREFIX = 'peertube-videojs-'
71
72function getLocalStorage (key: string) {
73 try {
74 return localStorage.getItem(KEY_PREFIX + key)
75 } catch {
76 return undefined
77 }
78}
79
80function setLocalStorage (key: string, value: string) {
81 try {
82 localStorage.setItem(KEY_PREFIX + key, value)
83 } catch { /* empty */
84 }
85}