import React, { Component } from 'react'; import { Container, Segment, Form, Dropdown, Divider } from 'semantic-ui-react'; import { connect } from 'react-redux'; import { textChange, submitRegistration, groupChange } from '../../actions'; const options = [ { key: 'DT', text: 'DevTeam', value: 'DT' }, { key: 'NET', text: 'NeTeam', value: 'NET' }, { key: 'ST', text: 'SecurITeam', value: 'ST' }, { key: 'SYS', text: 'SysAdmin', value: 'SYS' }, { key: 'HAT', text: 'Hallgatói Tudásbázis', value: 'HAT' }, ]; class Profile extends Component { componentWillMount() { if (!this.props.id) { this.props.history.push('/home'); } } render() { const { nick, groups, motivation, signed, id } = this.props; return ( <div> <Segment textAlign='center' vertical> <Container> <Form> <Divider horizontal>Becenév</Divider> <Form.Input fluid name='nick' onChange={e => this.props.textChange(e)} placeholder='Becenév' value={nick} /> <Divider horizontal>Motivációs levél</Divider> <Form.TextArea rows={10} name='motivation' onChange={e => this.props.textChange(e)} placeholder='Miért szeretnék jelentkezni...' value={motivation} /> <Divider horizontal>Érdekelt Körök</Divider> <Dropdown fluid multiple selection placeholder='DevTeam, ...' onChange={(_, v) => this.props.groupChange(v.value)} options={options} defaultValue={groups} /> <br /> <Form.Checkbox name='signed' label='Szeretnék jelentkezni a KSZK-ba' onChange={(_, v) => this.props.textChange({ target: { name: v.name, value: v.checked } })} checked={signed} /> <Form.Button onClick={() => this.props.submitRegistration({ nick, motivation, signed, groups, id })} > Mentés </Form.Button> </Form> </Container> </Segment> </div> ); } } const mapStateToProps = ({ user: { nick, groups, motivation, signed, id } }) => { return { nick, groups, motivation, signed, id, }; }; export default connect(mapStateToProps, { textChange, submitRegistration, groupChange })(Profile);