dubdiff/src/common/components/Main.js

64 lines
1.6 KiB
JavaScript
Raw Permalink Normal View History

2016-11-23 22:58:48 +01:00
import React from 'react'
import {connect} from 'react-redux'
import {Segment, Grid, Form} from 'semantic-ui-react'
2016-11-23 22:58:48 +01:00
import * as Actions from '../actions'
import * as Selectors from '../selectors'
2016-11-28 18:47:47 +01:00
import Header from './Header'
import Footer from './Footer'
2016-11-28 18:47:47 +01:00
import MainControls from './MainControls'
2016-11-23 22:58:48 +01:00
const mapStateToProps = (state) => ({
2016-11-28 18:47:47 +01:00
input: state.input,
safeInput: Selectors.safeInput(state)
2016-11-23 22:58:48 +01:00
})
const mapDispatchToProps = dispatch => ({
onChangeOriginal: (text) => dispatch(Actions.updateOriginalInput(text)),
onChangeFinal: (text) => dispatch(Actions.updateFinalInput(text))
2016-11-23 22:58:48 +01:00
})
class Main extends React.Component {
render () {
2016-11-23 22:58:48 +01:00
return (
2016-11-28 18:47:47 +01:00
<div>
<Header />
<Segment basic padded>
<Grid stackable columns={3}>
<Grid.Column width='3'>
<MainControls />
</Grid.Column>
<Grid.Column width='6'>
<Form>
<Form.Field>
<label>Original</label>
<textarea value={this.props.input.original} onChange={event => this.props.onChangeOriginal(event.target.value)} />
</Form.Field>
</Form>
</Grid.Column>
<Grid.Column width='6'>
<Form>
<Form.Field>
<label>Final</label>
<textarea value={this.props.input.final} onChange={event => this.props.onChangeFinal(event.target.value)} />
</Form.Field>
</Form>
</Grid.Column>
</Grid>
</Segment>
<Footer />
2016-11-23 22:58:48 +01:00
</div>
2016-11-23 22:58:48 +01:00
)
}
2016-11-23 22:58:48 +01:00
}
export default connect(mapStateToProps, mapDispatchToProps)(Main)