summaryrefslogtreecommitdiff
path: root/frontend/site/projects/museum/app/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/site/projects/museum/app/index.js')
-rw-r--r--frontend/site/projects/museum/app/index.js51
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)