You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SuspendedOverlay.js 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import PropTypes from 'prop-types';
  2. import React, { Component } from 'react';
  3. import { translate, translateToHTML } from '../../base/i18n';
  4. import OverlayFrame from './OverlayFrame';
  5. import ReloadButton from './ReloadButton';
  6. /**
  7. * Implements a React Component for suspended overlay. Shown when a suspend is
  8. * detected.
  9. */
  10. class SuspendedOverlay extends Component {
  11. /**
  12. * SuspendedOverlay component's property types.
  13. *
  14. * @static
  15. */
  16. static propTypes = {
  17. /**
  18. * The function to translate human-readable text.
  19. *
  20. * @public
  21. * @type {Function}
  22. */
  23. t: PropTypes.func
  24. };
  25. /**
  26. * Implements React's {@link Component#render()}.
  27. *
  28. * @inheritdoc
  29. * @returns {ReactElement|null}
  30. */
  31. render() {
  32. const { t } = this.props;
  33. return (
  34. <OverlayFrame>
  35. <div className = 'inlay'>
  36. <span className = 'inlay__icon icon-microphone' />
  37. <span className = 'inlay__icon icon-camera' />
  38. <h3
  39. className = 'inlay__title'>
  40. { t('suspendedoverlay.title') }
  41. </h3>
  42. <span className = 'inlay__text'>
  43. {
  44. translateToHTML(t, 'suspendedoverlay.title')
  45. }
  46. </span>
  47. <ReloadButton textKey = 'suspendedoverlay.rejoinKeyTitle' />
  48. </div>
  49. </OverlayFrame>
  50. );
  51. }
  52. }
  53. export default translate(SuspendedOverlay);