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