Move player local storage functions in their own file
authorChocobozzz <me@florianbigard.com>
Mon, 18 Jun 2018 07:46:58 +0000 (09:46 +0200)
committerChocobozzz <me@florianbigard.com>
Mon, 18 Jun 2018 08:26:19 +0000 (10:26 +0200)
client/src/assets/player/peertube-player-local-storage.ts [new file with mode: 0644]
client/src/assets/player/peertube-videojs-plugin.ts
client/src/assets/player/theater-button.ts
client/src/assets/player/utils.ts

diff --git a/client/src/assets/player/peertube-player-local-storage.ts b/client/src/assets/player/peertube-player-local-storage.ts
new file mode 100644 (file)
index 0000000..6882f68
--- /dev/null
@@ -0,0 +1,86 @@
+function getStoredVolume () {
+  const value = getLocalStorage('volume')
+  if (value !== null && value !== undefined) {
+    const valueNumber = parseFloat(value)
+    if (isNaN(valueNumber)) return undefined
+
+    return valueNumber
+  }
+
+  return undefined
+}
+
+function getStoredMute () {
+  const value = getLocalStorage('mute')
+  if (value !== null && value !== undefined) return value === 'true'
+
+  return undefined
+}
+
+function getStoredTheater () {
+  const value = getLocalStorage('theater-enabled')
+  if (value !== null && value !== undefined) return value === 'true'
+
+  return undefined
+}
+
+function saveVolumeInStore (value: number) {
+  return setLocalStorage('volume', value.toString())
+}
+
+function saveMuteInStore (value: boolean) {
+  return setLocalStorage('mute', value.toString())
+}
+
+function saveTheaterInStore (enabled: boolean) {
+  return setLocalStorage('theater-enabled', enabled.toString())
+}
+
+function saveAverageBandwidth (value: number) {
+  return setLocalStorage('average-bandwidth', value.toString())
+}
+
+function getAverageBandwidthInStore () {
+  const value = getLocalStorage('average-bandwidth')
+  if (value !== null && value !== undefined) {
+    const valueNumber = parseInt(value, 10)
+    if (isNaN(valueNumber)) return undefined
+
+    return valueNumber
+  }
+
+  return undefined
+}
+
+
+// ---------------------------------------------------------------------------
+
+export {
+  getStoredVolume,
+  getStoredMute,
+  getStoredTheater,
+  saveVolumeInStore,
+  saveMuteInStore,
+  saveTheaterInStore,
+  saveAverageBandwidth,
+  getAverageBandwidthInStore
+}
+
+// ---------------------------------------------------------------------------
+
+const KEY_PREFIX = 'peertube-videojs-'
+
+function getLocalStorage (key: string) {
+  try {
+    return localStorage.getItem(KEY_PREFIX + key)
+  } catch {
+    return undefined
+  }
+}
+
+function setLocalStorage (key: string, value: string) {
+  try {
+    localStorage.setItem(KEY_PREFIX + key, value)
+  } catch { /* empty */
+  }
+}
index b62dcb8299ed2364f77072fb01a614d1450693df..35a347e99385e3b7578468bfffe399064d7fcd23 100644 (file)
@@ -4,18 +4,17 @@ import { VideoFile } from '../../../../shared/models/videos/video.model'
 import { renderVideo } from './video-renderer'
 import './settings-menu-button'
 import { PeertubePluginOptions, VideoJSComponentInterface, videojsUntyped } from './peertube-videojs-typings'
+import { isMobile, videoFileMaxByResolution, videoFileMinByResolution } from './utils'
+import * as CacheChunkStore from 'cache-chunk-store'
+import { PeertubeChunkStore } from './peertube-chunk-store'
 import {
-  getAverageBandwidth,
+  getAverageBandwidthInStore,
   getStoredMute,
-  getStoredVolume, isMobile,
+  getStoredVolume,
   saveAverageBandwidth,
   saveMuteInStore,
-  saveVolumeInStore,
-  videoFileMaxByResolution,
-  videoFileMinByResolution
-} from './utils'
-import * as CacheChunkStore from 'cache-chunk-store'
-import { PeertubeChunkStore } from './peertube-chunk-store'
+  saveVolumeInStore
+} from './peertube-player-local-storage'
 
 const Plugin: VideoJSComponentInterface = videojs.getPlugin('plugin')
 class PeerTubePlugin extends Plugin {
@@ -148,7 +147,7 @@ class PeerTubePlugin extends Plugin {
   ) {
     // Automatically choose the adapted video file
     if (videoFile === undefined) {
-      const savedAverageBandwidth = getAverageBandwidth()
+      const savedAverageBandwidth = getAverageBandwidthInStore()
       videoFile = savedAverageBandwidth
         ? this.getAppropriateFile(savedAverageBandwidth)
         : this.pickAverageVideoFile()
index 1d330e08f8be291b26eca3b9e0469304aa01456e..bad737edadd5c3071011af8f5a2d8cfe71332098 100644 (file)
@@ -1,5 +1,6 @@
 import { VideoJSComponentInterface, videojsUntyped } from './peertube-videojs-typings'
-import { getStoredTheater, saveTheaterInStore } from './utils'
+import { saveTheaterInStore } from './peertube-player-local-storage'
+import { getStoredTheater } from './peertube-player-local-storage'
 
 const Button: VideoJSComponentInterface = videojsUntyped.getComponent('Button')
 class TheaterButton extends Button {
index 18a6b4dfa48b12d70ed61a1a1aff6b1650da0f82..c27e630e58dd39610a68eec3e17584181abbf2a7 100644 (file)
@@ -1,4 +1,3 @@
-import { is18nLocale, isDefaultLocale } from '../../../../shared/models/i18n/i18n'
 import { VideoFile } from '../../../../shared/models/videos'
 
 function toTitleCase (str: string) {
@@ -20,60 +19,6 @@ function bytes (value) {
   return [ calc, format.type ]
 }
 
-function getStoredVolume () {
-  const value = getLocalStorage('volume')
-  if (value !== null && value !== undefined) {
-    const valueNumber = parseFloat(value)
-    if (isNaN(valueNumber)) return undefined
-
-    return valueNumber
-  }
-
-  return undefined
-}
-
-function getStoredMute () {
-  const value = getLocalStorage('mute')
-  if (value !== null && value !== undefined) return value === 'true'
-
-  return undefined
-}
-
-function getAverageBandwidth () {
-  const value = getLocalStorage('average-bandwidth')
-  if (value !== null && value !== undefined) {
-    const valueNumber = parseInt(value, 10)
-    if (isNaN(valueNumber)) return undefined
-
-    return valueNumber
-  }
-
-  return undefined
-}
-
-function getStoredTheater () {
-  const value = getLocalStorage('theater-enabled')
-  if (value !== null && value !== undefined) return value === 'true'
-
-  return undefined
-}
-
-function saveVolumeInStore (value: number) {
-  return setLocalStorage('volume', value.toString())
-}
-
-function saveMuteInStore (value: boolean) {
-  return setLocalStorage('mute', value.toString())
-}
-
-function saveTheaterInStore (enabled: boolean) {
-  return setLocalStorage('theater-enabled', enabled.toString())
-}
-
-function saveAverageBandwidth (value: number) {
-  return setLocalStorage('average-bandwidth', value.toString())
-}
-
 function isMobile () {
   return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent)
 }
@@ -132,39 +77,15 @@ function videoFileMinByResolution (files: VideoFile[]) {
   return min
 }
 
+// ---------------------------------------------------------------------------
+
 export {
   toTitleCase,
   buildVideoLink,
-  getStoredVolume,
-  saveVolumeInStore,
-  saveAverageBandwidth,
-  getAverageBandwidth,
-  saveMuteInStore,
   buildVideoEmbed,
-  getStoredMute,
   videoFileMaxByResolution,
   videoFileMinByResolution,
   copyToClipboard,
-  getStoredTheater,
-  saveTheaterInStore,
   isMobile,
   bytes
 }
-
-// ---------------------------------------------------------------------------
-
-const KEY_PREFIX = 'peertube-videojs-'
-
-function getLocalStorage (key: string) {
-  try {
-    return localStorage.getItem(KEY_PREFIX + key)
-  } catch {
-    return undefined
-  }
-}
-
-function setLocalStorage (key: string, value: string) {
-  try {
-    localStorage.setItem(KEY_PREFIX + key, value)
-  } catch { /* empty */ }
-}