diff options
author | Joffrey BION <joffrey.bion@gmail.com> | 2018-06-09 18:13:47 +0200 |
---|---|---|
committer | Joffrey BION <joffrey.bion@gmail.com> | 2018-06-09 18:13:47 +0200 |
commit | c2eda5c0f25850d1c64ed238458e2bd696d06cc3 (patch) | |
tree | dc99a21fedfe280a0615694176a7d28951e9c8a9 /frontend/src/components/home/ChooseNameForm.jsx | |
parent | Improve game list's style (diff) | |
download | seven-wonders-c2eda5c0f25850d1c64ed238458e2bd696d06cc3.tar.gz seven-wonders-c2eda5c0f25850d1c64ed238458e2bd696d06cc3.tar.bz2 seven-wonders-c2eda5c0f25850d1c64ed238458e2bd696d06cc3.zip |
Fix home screen style
Diffstat (limited to 'frontend/src/components/home/ChooseNameForm.jsx')
-rw-r--r-- | frontend/src/components/home/ChooseNameForm.jsx | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/frontend/src/components/home/ChooseNameForm.jsx b/frontend/src/components/home/ChooseNameForm.jsx new file mode 100644 index 00000000..119fc851 --- /dev/null +++ b/frontend/src/components/home/ChooseNameForm.jsx @@ -0,0 +1,42 @@ +// @flow +import { Button, Classes, InputGroup, Intent } from '@blueprintjs/core'; +import React, { Component } from 'react'; +import { connect } from 'react-redux'; +import { actions } from '../../redux/players'; + +export type ChooseNameFormPresenterProps = { + chooseUsername: (username: string) => void, +} + +class ChooseNameFormPresenter extends Component<ChooseNameFormPresenterProps> { + _username = ''; + + play = e => { + e.preventDefault(); + if (this._username !== undefined) { + this.props.chooseUsername(this._username); + } + }; + + render() { + return ( + <form onSubmit={this.play}> + <InputGroup + placeholder="Username" + onChange={e => (this._username = e.target.value)} + rightElement={this.renderSubmit()} + /> + </form> + ); + } + + renderSubmit = () => ( + <Button className={Classes.MINIMAL} onClick={this.play} intent={Intent.PRIMARY} rightIcon="arrow-right" /> + ); +} + +const mapDispatchToProps = { + chooseUsername: actions.chooseUsername, +}; + +export const ChooseNameForm = connect(null, mapDispatchToProps)(ChooseNameFormPresenter); |