text: import PropTypes from 'prop-types';
  import React, { Component } from 'react';
  
  import { Dialog } from '../../../base/dialog';
  import { translate } from '../../../base/i18n';
  
  /**
   * A React Component for confirming the participant wishes to stop the currently
   * active live stream of the conference.
   *
   * @extends Component
   */
  class StopLiveStreamDialog extends Component {
      /**
       * {@code StopLiveStreamDialog} component's property types.
       *
       * @static
       */
      static propTypes = {
          /**
           * Callback to invoke when the dialog is dismissed without confirming
           * the live stream should be stopped.
           */
          onCancel: PropTypes.func,
  
          /**
           * Callback to invoke when confirming the live stream should be stopped.
           */
          onSubmit: PropTypes.func,
  
          /**
           * Invoked to obtain translated strings.
           */
          t: PropTypes.func
      };
  
      /**
       * Initializes a new {@code StopLiveStreamDialog} instance.
       *
       * @param {Object} props - The read-only properties with which the new
       * instance is to be initialized.
       */
      constructor(props) {
          super(props);
  
          // Bind event handler so it is only bound once for every instance.
          this._onCancel = this._onCancel.bind(this);
          this._onSubmit = this._onSubmit.bind(this);
      }
  
      /**
       * Implements React's {@link Component#render()}.
       *
       * @inheritdoc
       * @returns {ReactElement}
       */
      render() {
          return (
              <Dialog
                  okTitleKey = 'dialog.stopLiveStreaming'
                  onCancel = { this._onCancel }
                  onSubmit = { this._onSubmit }
                  titleKey = 'dialog.liveStreaming'
                  width = 'small'>
                  { this.props.t('dialog.stopStreamingWarning') }
              </Dialog>
          );
      }
  
      /**
       * Callback invoked when stopping of live streaming is canceled.
       *
       * @private
       * @returns {boolean} True to close the modal.
       */
      _onCancel() {
          this.props.onCancel();
  
          return true;
      }
  
      /**
       * Callback invoked when stopping of live streaming is confirmed.
       *
       * @private
       * @returns {boolean} True to close the modal.
       */
      _onSubmit() {
          this.props.onSubmit();
  
          return true;
      }
  }
  
  export default translate(StopLiveStreamDialog);
  