]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/assets/player/dock/peertube-dock-plugin.ts
Reorganize player manager options builder
[github/Chocobozzz/PeerTube.git] / client / src / assets / player / dock / peertube-dock-plugin.ts
1 import videojs from 'video.js'
2 import { PeerTubeDockComponent } from './peertube-dock-component'
3
4 const Plugin = videojs.getPlugin('plugin')
5
6 export type PeerTubeDockPluginOptions = {
7 title?: string
8 description?: string
9 avatarUrl?: string
10 }
11
12 class PeerTubeDockPlugin extends Plugin {
13 constructor (player: videojs.Player, options: videojs.PlayerOptions & PeerTubeDockPluginOptions) {
14 super(player, options)
15
16 this.player.addClass('peertube-dock')
17
18 this.player.ready(() => {
19 this.player.addChild('PeerTubeDockComponent', options) as PeerTubeDockComponent
20 })
21 }
22 }
23
24 videojs.registerPlugin('peertubeDock', PeerTubeDockPlugin)
25 export { PeerTubeDockPlugin }