Newer
Older
import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { withStyles } from '@material-ui/core/styles';
import withWidth from '@material-ui/core/withWidth';
import { withRouter } from 'react-router-dom';
import compose from 'recompose/compose';
import Footer from '../components/Footer';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import Manuscripts from '../components/Manuscripts';
import Main from '../components/Main';
import FacetDialog from '../components/FacetDialog';
fetchManuscripts,
fetchPlaces,
updatePage,
} from '../actions';
const styles = theme => ({
root: {
flexGrow: 1,
height: '100%',
},
minWidth: 300,
//minHeight: 700
display: 'flex',
width: '100%',
height: 'calc(100% - 128px)',
[theme.breakpoints.down(600)]: {
marginTop: 56,
height: 'calc(100% - 122px)',
},
borderRight: '4px solid' + theme.palette.primary.main,
borderLeft: '4px solid' + theme.palette.primary.main,
//backgroundColor: 'rgb(238, 238, 238)'
backgroundColor: theme.palette.background.paper
});
let MapApp = (props) => {
return (
<div className={classes.root}>
<div className={classes.appFrame}>
<Router>
<React.Fragment>
<TopBar />
<div className={classes.mainContainer}>
<Route exact path="/" component={Main} />
<Route
path="/manuscripts"
render={routeProps =>
<Manuscripts
facetFilters={props.facet.facetFilters}
fetchManuscripts={props.fetchManuscripts}
fetchPlaces={props.fetchPlaces}
fetchPlace={props.fetchPlace}
updatePage={props.updatePage}
</div>
</React.Fragment>
</Router>
<FacetDialog
facet={props.facet}
fetchFacet={props.fetchFacet}
updateFilter={props.updateFilter}
updatePage={props.updatePage}
closeFacetDialog={props.closeFacetDialog}
/>
</div>
</div>
);
};
// <img className={classes.secoLogo} src='img/logos/seco-logo-white-no-background-small.png' alt='SeCo logo'/>
// <img className={classes.heldigLogo} src='img/logos/heldig-logo-small.png' alt='HELDIG logo'/>
// <img className={classes.uhLogo} src='img/logos/university-of-helsinki-logo-white-no-background-small.png' alt='University of Helsinki logo'/>
const mapStateToProps = (state) => {
return {
facet: state.facet,
search: state.search,
//browser: state.browser,
const mapDispatchToProps = ({
fetchManuscripts,
fetchPlaces,
updatePage,
});
MapApp.propTypes = {
classes: PropTypes.object.isRequired,
theme: PropTypes.object.isRequired,
// error: PropTypes.object.isRequired,
// browser: PropTypes.object.isRequired,
facet: PropTypes.object.isRequired,
search: PropTypes.object.isRequired,
fetchManuscripts: PropTypes.func.isRequired,
fetchPlaces: PropTypes.func.isRequired,
fetchFacet: PropTypes.func.isRequired,
updatePage: PropTypes.func.isRequired,
openFacetDialog: PropTypes.func.isRequired,
closeFacetDialog: PropTypes.func.isRequired
export default compose(
connect(
mapStateToProps,
mapDispatchToProps
),
withWidth(),
withStyles(styles, {withTheme: true}),
)(MapApp);