Chat can be enabled in video properties.
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
|
||||
function register ({ registerHook }: RegisterOptions): void {
|
||||
async function register ({ peertubeHelpers, registerHook, registerVideoField }: RegisterOptions): Promise<void> {
|
||||
registerHook({
|
||||
target: 'action:router.navigation-end',
|
||||
handler: () => {
|
||||
@ -9,6 +9,34 @@ function register ({ registerHook }: RegisterOptions): void {
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
const [label, description, settings] = await Promise.all([
|
||||
peertubeHelpers.translate('Use chat'),
|
||||
peertubeHelpers.translate('If enabled, there will be a chat next to the video.'),
|
||||
peertubeHelpers.getSettings()
|
||||
])
|
||||
const webchatFieldOptions: RegisterClientFormFieldOptions = {
|
||||
name: 'livechat-active',
|
||||
label: label,
|
||||
descriptionHTML: description,
|
||||
type: 'input-checkbox',
|
||||
default: true,
|
||||
hidden: ({ liveVideo }) => {
|
||||
if (!liveVideo) {
|
||||
return true
|
||||
}
|
||||
if (!settings['chat-per-live-video']) {
|
||||
return true
|
||||
}
|
||||
if (settings['chat-all-lives']) {
|
||||
// No need to add this field if live is active for all live videos
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
registerVideoField(webchatFieldOptions, { type: 'update' })
|
||||
registerVideoField(webchatFieldOptions, { type: 'go-live' })
|
||||
}
|
||||
|
||||
export {
|
||||
|
Reference in New Issue
Block a user