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.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. { this._renderLocalVideo() }
  24. <View style = { styles.roomContainer }>
  25. <Text style = { styles.title }>Enter room name</Text>
  26. <TextInput
  27. autoCapitalize = 'none'
  28. autoCorrect = { false }
  29. autoFocus = { true }
  30. onChangeText = { this._onRoomChange }
  31. placeholder = 'room name'
  32. style = { styles.textInput }
  33. value = { this.state.room } />
  34. <TouchableHighlight
  35. disabled = { this._isJoinDisabled() }
  36. onPress = { this._onJoinClick }
  37. style = { styles.button }
  38. underlayColor = 'white'>
  39. <Text style = { styles.buttonText }>JOIN</Text>
  40. </TouchableHighlight>
  41. </View>
  42. </View>
  43. );
  44. }
  45. }
  46. /**
  47. * WelcomePage component's property types.
  48. *
  49. * @static
  50. */
  51. WelcomePage.propTypes = AbstractWelcomePage.propTypes;
  52. export default connect(mapStateToProps)(WelcomePage);