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.

PageReloadOverlay.js 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // @flow
  2. import React from 'react';
  3. import { translate } from '../../../base/i18n';
  4. import { connect } from '../../../base/redux';
  5. import AbstractPageReloadOverlay, {
  6. abstractMapStateToProps,
  7. type Props
  8. } from '../AbstractPageReloadOverlay';
  9. import OverlayFrame from './OverlayFrame';
  10. /**
  11. * Implements a React Component for page reload overlay. Shown before the
  12. * conference is reloaded. Shows a warning message and counts down towards the
  13. * reload.
  14. */
  15. class PageReloadOverlay extends AbstractPageReloadOverlay<Props> {
  16. /**
  17. * Implements React's {@link Component#render()}.
  18. *
  19. * @inheritdoc
  20. * @returns {ReactElement}
  21. */
  22. render() {
  23. const { isNetworkFailure, t } = this.props;
  24. const { message, timeLeft, title } = this.state;
  25. return (
  26. <OverlayFrame isLightOverlay = { isNetworkFailure }>
  27. <div className = 'inlay'>
  28. <span
  29. className = 'reload_overlay_title'>
  30. { t(title) }
  31. </span>
  32. <span className = 'reload_overlay_text'>
  33. { t(message, { seconds: timeLeft }) }
  34. </span>
  35. { this._renderProgressBar() }
  36. { this._renderButton() }
  37. </div>
  38. </OverlayFrame>
  39. );
  40. }
  41. _renderButton: () => React$Element<*>
  42. _renderProgressBar: () => React$Element<*>
  43. }
  44. export default translate(connect(abstractMapStateToProps)(PageReloadOverlay));