${
// If we open a room with forcetype, there is no current video... So just disabling external login
// (in such case, we should be logged in as admin/moderator...)
!api.settings.get('livechat_peertube_video_original_url')
? ''
: html`
`
}
`
}
export default (o) => {
// ConverseJS 10.x does not handle properly the visitor role in unmoderated rooms.
// See https://github.com/conversejs/converse.js/issues/3428 for more info.
// So we will do a dirty hack here to fix this case.
// Note: ConverseJS 11.x has changed the code, and could be fixed more cleanly (or will be fixed if #3428 is fixed).
if (o.can_edit && o.model.getOwnRole() === 'visitor') {
o.can_edit = false
}
let mutedAnonymousMessage
if (
!o.can_edit &&
o.model.features?.get?.('x_peertubelivechat_mute_anonymous') &&
_converse.api.settings.get('livechat_specific_is_anonymous') === true
) {
// If we are moderated because we are anonymous, we want to display a custom message.
// FIXME: if x_peertubelivechat_mute_anonymous changes, user are first muted/voiced, and then only the
// status 104 is sent. But we don't listen to 'change:x_peertubelivechat_mute_anonymous'.
// So the custom message won't be correct. But this is not a big issue.
// eslint-disable-next-line no-undef
mutedAnonymousMessage = __(LOC_muted_anonymous_message)
}
return html`
${tplViewerMode(o)}
${tplSlowMode(o)}
${
mutedAnonymousMessage
? html`${mutedAnonymousMessage}`
: tplMucBottomPanel(o)
}`
}