UNPKG

contiago-toolbar

Version:

One of the options for outputting content from contiago xml-server

61 lines (54 loc) 1.9 kB
import React from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import moment from 'moment'; import { createStructuredSelector } from 'reselect'; import { compose } from 'redux'; import ArticleContainer from 'components/ArticleContainer'; import Article from 'components/Article'; import { push } from 'utils/router/actions'; import { makeSelectToolbarConfig } from 'containers/App/selectors'; import Link from 'containers/ArticlePage/components/Link'; import Container from './components/Container'; import Title from './components/Title'; import Footer from './components/Footer'; export class HomePage extends React.Component { // eslint-disable-line react/prefer-stateless-function render() { const { push, outputConfig } = this.props; return ( <Container> <Title>{outputConfig.headline}</Title> <ArticleContainer> {outputConfig && outputConfig.outputRubricList ? outputConfig.outputRubricList.map((rubric) => ( <Article push={push} rubric={rubric} key={rubric.id} /> )) : null } </ArticleContainer> <Footer> <Link target="_blank" href="https://www.contiago.de"> {`© 2018 Contiago News-Service, letzte Aktualisierung ${moment(parseInt(outputConfig.updated, 10)).format('DD.MM.YYYY/HH:mm')} Uhr`} </Link> </Footer> </Container> ); } } HomePage.propTypes = { dispatch: PropTypes.func.isRequired, outputConfig: PropTypes.object, push: PropTypes.func, }; const mapStateToProps = createStructuredSelector({ outputConfig: makeSelectToolbarConfig(), }); function mapDispatchToProps(dispatch) { return { dispatch, push: (number) => dispatch(push(number)), }; } const withConnect = connect(mapStateToProps, mapDispatchToProps); export default compose( withConnect, )(HomePage);