mirror of
https://gitcode.com/GitHub_Trending/ji/jitsi-meet.git
synced 2026-05-14 13:57:53 +00:00
Convert some files to TS Refactor MuteEveryone and MuteEveryonesVideo dialogs. Move shared code to abstract components. Remove unnecessary code
53 lines
2.0 KiB
TypeScript
53 lines
2.0 KiB
TypeScript
import React from 'react';
|
|
|
|
import { translate } from '../../../base/i18n/functions';
|
|
import { connect } from '../../../base/redux/functions';
|
|
import Dialog from '../../../base/ui/components/web/Dialog';
|
|
import Switch from '../../../base/ui/components/web/Switch';
|
|
import AbstractMuteEveryoneDialog, { type Props, abstractMapStateToProps }
|
|
from '../AbstractMuteEveryoneDialog';
|
|
|
|
/**
|
|
* A React Component with the contents for a dialog that asks for confirmation
|
|
* from the user before muting all remote participants.
|
|
*
|
|
* @augments AbstractMuteEveryoneDialog
|
|
*/
|
|
class MuteEveryoneDialog extends AbstractMuteEveryoneDialog<Props> {
|
|
|
|
/**
|
|
* Implements React's {@link Component#render()}.
|
|
*
|
|
* @inheritdoc
|
|
* @returns {ReactElement}
|
|
*/
|
|
render() {
|
|
return (
|
|
<Dialog
|
|
ok = {{ translationKey: 'dialog.muteParticipantButton' }}
|
|
onSubmit = { this._onSubmit }
|
|
title = { this.props.title }>
|
|
<div className = 'mute-dialog'>
|
|
{ this.state.content }
|
|
{ this.props.isModerationSupported && this.props.exclude.length === 0 && (
|
|
<>
|
|
<div className = 'separator-line' />
|
|
<div className = 'control-row'>
|
|
<label htmlFor = 'moderation-switch'>
|
|
{this.props.t('dialog.moderationAudioLabel')}
|
|
</label>
|
|
<Switch
|
|
checked = { !this.state.audioModerationEnabled }
|
|
id = 'moderation-switch'
|
|
onChange = { this._onToggleModeration } />
|
|
</div>
|
|
</>
|
|
)}
|
|
</div>
|
|
</Dialog>
|
|
);
|
|
}
|
|
}
|
|
|
|
export default translate(connect(abstractMapStateToProps)(MuteEveryoneDialog));
|