Handle subtitles in player
[oweals/peertube.git] / client / src / assets / player / peertube-load-progress-bar.ts
1 import { VideoJSComponentInterface, videojsUntyped } from './peertube-videojs-typings'
2
3 const Component: VideoJSComponentInterface = videojsUntyped.getComponent('Component')
4
5 class PeerTubeLoadProgressBar extends Component {
6
7   constructor (player, options) {
8     super(player, options)
9     this.partEls_ = []
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     this.partEls_ = null
22
23     super.dispose()
24   }
25
26   update () {
27     const torrent = this.player().peertube().getTorrent()
28     if (!torrent) return
29
30     this.el_.style.width = (torrent.progress * 100) + '%'
31   }
32
33 }
34
35 Component.registerComponent('PeerTubeLoadProgressBar', PeerTubeLoadProgressBar)