CreateGameForm.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import React from 'react/addons';
  2. const CreateGameForm = React.createClass({
  3. propTypes: {
  4. link: React.PropTypes.string.isRequired,
  5. time: React.PropTypes.string.isRequired,
  6. inc: React.PropTypes.string.isRequired,
  7. onChangeForm: React.PropTypes.func.isRequired,
  8. createGame: React.PropTypes.func.isRequired
  9. },
  10. mixins: [React.addons.PureRenderMixin],
  11. render() {
  12. return (
  13. <form onSubmit={this.props.createGame}>
  14. <fieldset>
  15. <label>
  16. <span>Minutes per side: </span>
  17. <input
  18. type="number"
  19. name="time"
  20. value={this.props.time}
  21. onChange={this.props.onChangeForm}
  22. min="1"
  23. max="50"
  24. required />
  25. </label>
  26. <label style={{paddingLeft: '2em'}}>
  27. <span>Increment in seconds: </span>
  28. <input
  29. type="number"
  30. name="inc"
  31. value={this.props.inc}
  32. onChange={this.props.onChangeForm}
  33. min="0"
  34. max="50"
  35. required />
  36. </label>
  37. </fieldset>
  38. <input
  39. id="game-link"
  40. type="text"
  41. value={this.props.link || 'Game link will be generated here.'}
  42. onClick={e => e.target.select()}
  43. readOnly />
  44. <button type="submit" className="btn">Play</button>
  45. </form>
  46. );
  47. }
  48. });
  49. export default CreateGameForm;