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';
fetchManuscripts,
fetchPlaces,
updatePage,
} from '../actions';
const styles = theme => ({
root: {
flexGrow: 1,
height: '100%',
},
minWidth: 300,
//minHeight: 700
height: 'calc(100% - 128px)',
[theme.breakpoints.down(600)]: {
marginTop: 56,
height: 'calc(100% - 122px)',
},
backgroundColor: '#E0E0E0',
// paddingLeft: 8,
// paddingRight: 8,
// paddingTop: 4
},
gridItem: {
borderRight: '4px solid' + theme.palette.primary.main,
});
let MapApp = (props) => {
return (
<div className={classes.root}>
<div className={classes.appFrame}>
<Router>
<React.Fragment>
<TopBar />
<Route
path="/manuscripts"
render={routeProps =>
<React.Fragment>
<Grid item sm={12} md={4} className={classes.gridItem} >
<FacetBar
facet={props.facet}
fetchFacet={props.fetchFacet}
updateFilter={props.updateFilter}
updatePage={props.updatePage}
/>
</Grid>
<Grid item sm={12} md={8}>
<Manuscripts
search={props.search}
facetFilters={props.facet.facetFilters}
fetchManuscripts={props.fetchManuscripts}
fetchPlaces={props.fetchPlaces}
fetchPlace={props.fetchPlace}
updatePage={props.updatePage}
routeProps={routeProps}
/>
</Grid>
</React.Fragment>
}
/>
</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);