diff options
Diffstat (limited to 'frontend/site/projects/museum/app/index.js')
| -rw-r--r-- | frontend/site/projects/museum/app/index.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/frontend/site/projects/museum/app/index.js b/frontend/site/projects/museum/app/index.js new file mode 100644 index 0000000..a0a6b76 --- /dev/null +++ b/frontend/site/projects/museum/app/index.js @@ -0,0 +1,51 @@ +import React, { Component } from 'react' +import { ConnectedRouter } from 'connected-react-router' +import { Route } from 'react-router' +import { connect } from 'react-redux' + +import ViewerContainer from 'site/viewer/viewer.container' +import Home from 'site/projects/museum/views/home' +import Essay from 'site/projects/museum/views/essay' +import Artists from 'site/projects/museum/views/artists' +import Credits from 'site/projects/museum/views/credits' +import NavOverlay from 'site/projects/museum/views/nav.overlay' +import StlOverlay from 'site/projects/museum/views/stl.overlay' + +import "site/projects/museum/views/mobile.css" + +import { loadMuseum } from 'site/projects/museum/museum.actions' + +class App extends Component { + componentDidMount() { + loadMuseum() + } + + render() { + if (!this.props.ready) { + return <div /> + } + return ( + <ConnectedRouter history={this.props.history}> + <div className='app'> + <Route path={'/last-museum/:page_name'} component={ViewerContainer} exact /> + <Route path={'/last-museum/start'} component={Home} exact /> + <Route path={'/last-museum/essay'} component={Essay} exact /> + <Route path={'/last-museum/artists'} component={Artists} exact /> + <Route path={'/last-museum/credits'} component={Credits} exact /> + <Route path={'/last-museum/:page_name'} component={StlOverlay} exact /> + <Route path={'/last-museum/:page_name'} component={NavOverlay} exact /> + <Route path='/last-museum/' exact render={() => { + setTimeout(() => this.props.history.push('/last-museum/start'), 10) + return null + }} /> + </div> + </ConnectedRouter> + ) + } +} + +const mapStateToProps = state => ({ + ready: state.site.ready, +}) + +export default connect(mapStateToProps)(App) |
