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.

WelcomePage.web.js 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import React from 'react';
  2. import { connect } from 'react-redux';
  3. import {
  4. AbstractWelcomePage,
  5. mapStateToProps
  6. } from './AbstractWelcomePage';
  7. import { styles } from './styles';
  8. /**
  9. * The web container rendering the welcome page.
  10. *
  11. * @extends AbstractWelcomePage
  12. */
  13. class WelcomePage extends AbstractWelcomePage {
  14. /**
  15. * Renders a prompt for entering a room name.
  16. *
  17. * @returns {ReactElement}
  18. */
  19. render() {
  20. /* eslint-disable react/jsx-no-bind */
  21. return (
  22. <div style = { styles.container }>
  23. { this._renderLocalVideo() }
  24. <div style = { styles.roomContainer }>
  25. <p style = { styles.title }>Enter room name</p>
  26. <input
  27. onChange = { ev => this._onRoomChange(ev.target.value) }
  28. style = { styles.textInput }
  29. type = 'text'
  30. value = { this.state.room || '' } />
  31. <button
  32. disabled = { this._isJoinDisabled() }
  33. onClick = { this._onJoinClick }
  34. style = { styles.button }>JOIN</button>
  35. </div>
  36. </div>
  37. );
  38. /* eslint-enable react/jsx-no-bind */
  39. }
  40. }
  41. /**
  42. * WelcomePage component's property types.
  43. *
  44. * @static
  45. */
  46. WelcomePage.propTypes = AbstractWelcomePage.propTypes;
  47. export default connect(mapStateToProps)(WelcomePage);