mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
31 lines
734 B
TypeScript
31 lines
734 B
TypeScript
import type { Video } from '../types/state'
|
|
|
|
export function register(el: HTMLVideoElement, state: Video) {
|
|
el.addEventListener('canplaythrough', () => {
|
|
state.playable = true
|
|
})
|
|
el.addEventListener('playing', () => {
|
|
state.playing = true
|
|
})
|
|
el.addEventListener('pause', () => {
|
|
state.playing = false
|
|
})
|
|
el.addEventListener('emptied', () => {
|
|
state.playable = false
|
|
state.playing = false
|
|
})
|
|
el.addEventListener('error', () => {
|
|
state.playable = false
|
|
state.playing = false
|
|
})
|
|
el.addEventListener('volumechange', () => {
|
|
state.muted = el.muted
|
|
state.volume = el.volume
|
|
})
|
|
|
|
// Initial state
|
|
state.muted = el.muted
|
|
state.volume = el.volume
|
|
state.playing = !el.paused
|
|
}
|