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