spee.ch/react/containers/PublishTool.jsx

42 lines
943 B
React
Raw Normal View History

import React from 'react';
2018-01-12 02:38:01 +01:00
import Dropzone from './Dropzone.jsx';
2018-01-09 02:06:31 +01:00
import PublishForm from './PublishForm.jsx';
import PublishStatus from '../components/PublishStatus.jsx';
2018-01-09 02:06:31 +01:00
import {connect} from 'react-redux';
2018-01-13 00:02:42 +01:00
import PropTypes from 'prop-types';
2018-01-06 03:26:57 +01:00
class PublishTool extends React.Component {
render () {
2018-01-12 00:37:32 +01:00
if (this.props.file) {
if (this.props.status) {
return (
<PublishStatus
status={this.props.status}
message={this.props.message}
/>
);
} else {
return <PublishForm />;
}
} else {
2018-01-12 02:38:01 +01:00
return <Dropzone />;
2018-01-12 00:37:32 +01:00
}
}
};
2018-01-09 02:06:31 +01:00
const mapStateToProps = state => {
return {
2018-01-12 00:37:32 +01:00
file : state.file,
status : state.status.status,
message: state.status.message,
2018-01-09 02:06:31 +01:00
};
};
2018-01-13 00:02:42 +01:00
PublishTool.propTypes = {
file : PropTypes.object,
status : PropTypes.string,
message: PropTypes.string,
};
2018-01-09 02:06:31 +01:00
export default connect(mapStateToProps, null)(PublishTool);