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.native.js 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import React from 'react';
  2. import { Text, TextInput, TouchableHighlight, View } from 'react-native';
  3. import { connect } from 'react-redux';
  4. import {
  5. AbstractWelcomePage,
  6. mapStateToProps
  7. } from './AbstractWelcomePage';
  8. import { styles } from './styles';
  9. /**
  10. * The native container rendering the welcome page.
  11. *
  12. * @extends AbstractWelcomePage
  13. */
  14. class WelcomePage extends AbstractWelcomePage {
  15. /**
  16. * Renders a prompt for entering a room name.
  17. *
  18. * @returns {ReactElement}
  19. */
  20. render() {
  21. return (
  22. <View style = { styles.container }>
  23. {
  24. this._renderLocalVideo()
  25. }
  26. <View style = { styles.roomContainer }>
  27. <Text style = { styles.title }>Enter room name</Text>
  28. <TextInput
  29. autoCapitalize = 'none'
  30. autoCorrect = { false }
  31. autoFocus = { true }
  32. onChangeText = { this._onRoomChange }
  33. placeholder = 'room name'
  34. style = { styles.textInput }
  35. value = { this.state.room } />
  36. <TouchableHighlight
  37. disabled = { this._isJoinDisabled() }
  38. onPress = { this._onJoinClick }
  39. style = { styles.button }
  40. underlayColor = 'white'>
  41. <Text style = { styles.buttonText }>JOIN</Text>
  42. </TouchableHighlight>
  43. </View>
  44. </View>
  45. );
  46. }
  47. }
  48. /**
  49. * WelcomePage component's property types.
  50. *
  51. * @static
  52. */
  53. WelcomePage.propTypes = AbstractWelcomePage.propTypes;
  54. export default connect(mapStateToProps)(WelcomePage);