summaryrefslogtreecommitdiff
path: root/animism-align/frontend/app/router.js
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/frontend/app/router.js')
-rw-r--r--animism-align/frontend/app/router.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/animism-align/frontend/app/router.js b/animism-align/frontend/app/router.js
new file mode 100644
index 0000000..bd87cbe
--- /dev/null
+++ b/animism-align/frontend/app/router.js
@@ -0,0 +1,42 @@
+import React, { Component } from 'react'
+import { ConnectedRouter } from 'connected-react-router'
+import { Route } from 'react-router'
+
+import actions from 'app/actions'
+
+import Header from 'app/views/nav/header.component'
+import * as views from 'app/views'
+
+const viewList = Object.keys(views).map(name => {
+ const view = views[name]
+ let path, exact = false
+ path = '/' + name
+ return (
+ <Route key={name} path={path} component={view} exact={exact} />
+ )
+})
+
+export default class Router extends Component {
+ componentDidMount() {
+ actions.site.loadText()
+ actions.site.loadPeaks()
+ actions.annotation.index()
+ actions.paragraph.index()
+ actions.media.index()
+ }
+ render() {
+ return (
+ <ConnectedRouter history={this.props.history}>
+ <div className='app'>
+ <Header />
+ {viewList}
+ <Route exact key='root' path='/' render={() => {
+ // redirect to index!!
+ setTimeout(() => this.props.history.push('/align'), 10)
+ return null
+ }} />
+ </div>
+ </ConnectedRouter>
+ )
+ }
+}