Refactoring: merge video-watch scope into common.

In order to be able to use lit in videowatch related code, we have to
merge these scopes.
This commit is contained in:
John Livingston
2024-06-13 16:36:16 +02:00
parent f1e9d1dfec
commit 990ff2385a
15 changed files with 519 additions and 446 deletions

View File

@ -0,0 +1,34 @@
// SPDX-FileCopyrightText: 2024 John Livingston <https://www.john-livingston.fr/>
//
// SPDX-License-Identifier: AGPL-3.0-only
import type { Video } from '@peertube/peertube-types'
import { getPtContext } from '../lib/contexts/peertube'
import { initChat } from './chat'
interface VideoWatchLoadedHookOptions {
videojs: any
video: Video
playlist?: any
}
export async function registerVideoWatch (): Promise<void> {
const ptContext = getPtContext()
ptContext.ptOptions.registerHook({
target: 'action:video-watch.video.loaded',
handler: ({
video,
playlist
}: VideoWatchLoadedHookOptions) => {
if (!video) {
ptContext.logger.error('No video argument in hook action:video-watch.video.loaded')
return
}
if (playlist) {
ptContext.logger.info('We are in a playlist, we will not use the webchat')
return
}
initChat(video).then(() => {}, () => {})
}
})
}