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