CreateGameForm.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. <input
  15. id="game-link"
  16. type="text"
  17. value={this.props.link || ''}
  18. onClick={e => e.target.select()}
  19. readOnly />
  20. <button type="submit" className="btn">OK</button>
  21. <fieldset>
  22. <label style={{paddingLeft: '2em'}}>
  23. <span>minutes: </span>
  24. <input
  25. type="number"
  26. name="time"
  27. value={this.props.time}
  28. onChange={this.props.onChangeForm}
  29. min="1"
  30. max="50"
  31. required />
  32. </label>
  33. <label style={{paddingLeft: '2em'}}>
  34. <span>increment: </span>
  35. <input
  36. type="number"
  37. name="inc"
  38. value={this.props.inc}
  39. onChange={this.props.onChangeForm}
  40. min="0"
  41. max="50"
  42. required />
  43. </label>
  44. </fieldset>
  45. </form>
  46. );
  47. }
  48. });
  49. export default CreateGameForm;