aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/assets/player/control-bar/peertube-load-progress-bar.ts
diff options
context:
space:
mode:
Diffstat (limited to 'client/src/assets/player/control-bar/peertube-load-progress-bar.ts')
-rw-r--r--client/src/assets/player/control-bar/peertube-load-progress-bar.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/client/src/assets/player/control-bar/peertube-load-progress-bar.ts b/client/src/assets/player/control-bar/peertube-load-progress-bar.ts
new file mode 100644
index 000000000..623e70eb2
--- /dev/null
+++ b/client/src/assets/player/control-bar/peertube-load-progress-bar.ts
@@ -0,0 +1,33 @@
1import videojs from 'video.js'
2
3const Component = videojs.getComponent('Component')
4
5class PeerTubeLoadProgressBar extends Component {
6
7 constructor (player: videojs.Player, options?: videojs.ComponentOptions) {
8 super(player, options)
9
10 this.on(player, 'progress', this.update)
11 }
12
13 createEl () {
14 return super.createEl('div', {
15 className: 'vjs-load-progress',
16 innerHTML: `<span class="vjs-control-text"><span>${this.localize('Loaded')}</span>: 0%</span>`
17 })
18 }
19
20 dispose () {
21 super.dispose()
22 }
23
24 update () {
25 const torrent = this.player().webtorrent().getTorrent()
26 if (!torrent) return
27
28 (this.el() as HTMLElement).style.width = (torrent.progress * 100) + '%'
29 }
30
31}
32
33Component.registerComponent('PeerTubeLoadProgressBar', PeerTubeLoadProgressBar)