summaryrefslogtreecommitdiff
path: root/animism-align/frontend/site
diff options
context:
space:
mode:
Diffstat (limited to 'animism-align/frontend/site')
-rw-r--r--animism-align/frontend/site/actions.js11
-rw-r--r--animism-align/frontend/site/app.js31
-rw-r--r--animism-align/frontend/site/index.js4
-rw-r--r--animism-align/frontend/site/site/site.reducer.js12
-rw-r--r--animism-align/frontend/site/store.js31
5 files changed, 60 insertions, 29 deletions
diff --git a/animism-align/frontend/site/actions.js b/animism-align/frontend/site/actions.js
index f11ce13..2642469 100644
--- a/animism-align/frontend/site/actions.js
+++ b/animism-align/frontend/site/actions.js
@@ -1,8 +1,10 @@
import { bindActionCreators } from 'redux'
// import { actions as crudActions } from './api'
-import * as audioActions from 'app/views/audio.actions'
-import * as viewerActions from 'app/views/viewer.actions'
+import * as siteActions from 'site/site/site.actions'
+import * as audioActions from 'app/views/audio/audio.actions'
+import * as viewerActions from 'app/views/viewer/viewer.actions'
+import * as transcriptActions from 'app/views/paragraph/transcript.actions'
import { store } from './store'
@@ -11,12 +13,13 @@ export default
// .map(a => [a, crudActions[a]])
// .concat(
[
- // ['site', siteActions],
+ ['site', siteActions],
['audio', audioActions],
['viewer', viewerActions],
+ ['transcript', transcriptActions]
] //)
.map(p => [p[0], bindActionCreators(p[1], store.dispatch)])
.concat([
// ['socket', socketActions],
])
- .reduce((a,b) => (a[b[0]] = b[1])&&a,{}) \ No newline at end of file
+ .reduce((a,b) => (a[b[0]] = b[1])&&a,{})
diff --git a/animism-align/frontend/site/app.js b/animism-align/frontend/site/app.js
index 4f8a6cf..8509954 100644
--- a/animism-align/frontend/site/app.js
+++ b/animism-align/frontend/site/app.js
@@ -3,31 +3,26 @@ import { ConnectedRouter } from 'connected-react-router'
import { Route } from 'react-router'
// import ViewerContainer from './viewer/viewer.container'
+import Viewer from 'app/views/viewer/viewer.container'
import actions from './actions'
export default class App extends Component {
componentDidMount() {
- const path_partz = window.location.pathname.split('/')
- const graph_name = path_partz[1]
- let path_name = null
- if (path_partz.length > 2) {
- path_name = path_partz[2]
- }
- // console.log('loading', graph_name, path_name)
- actions.site.loadSite(graph_name, path_name)
+ actions.site.loadProject()
}
render() {
- return (
- <ConnectedRouter history={this.props.history}>
- <div className='app'>
- <Route exact key='root' path='/' render={() => {
- // setTimeout(() => this.props.history.push('/'), 10)
- return null
- }} />
- </div>
- </ConnectedRouter>
- )
+ return <Viewer />
+ // return (
+ // <ConnectedRouter history={this.props.history}>
+ // <div className='app'>
+ // <Route exact key='root' path='/' render={() => {
+ // // setTimeout(() => this.props.history.push('/'), 10)
+ // return null
+ // }} />
+ // </div>
+ // </ConnectedRouter>
+ // )
}
}
/*
diff --git a/animism-align/frontend/site/index.js b/animism-align/frontend/site/index.js
index 448d38d..7d47bd0 100644
--- a/animism-align/frontend/site/index.js
+++ b/animism-align/frontend/site/index.js
@@ -7,7 +7,7 @@ import '../app/common/form.css'
import { store } from './store'
-import Viewer from 'app/views/viewer/viewer.container'
+import App from './app'
const container = document.createElement('div')
container.classList.add('container')
@@ -15,6 +15,6 @@ document.body.appendChild(container)
ReactDOM.render(
<Provider store={store}>
- <Viewer />
+ <App />
</Provider>, container
)
diff --git a/animism-align/frontend/site/site/site.reducer.js b/animism-align/frontend/site/site/site.reducer.js
new file mode 100644
index 0000000..ea10886
--- /dev/null
+++ b/animism-align/frontend/site/site/site.reducer.js
@@ -0,0 +1,12 @@
+// import * as types from 'app/types'
+
+const initialState = {
+}
+
+export default function siteReducer(state = initialState, action) {
+ console.log(action.type, action)
+ switch (action.type) {
+ default:
+ return state
+ }
+}
diff --git a/animism-align/frontend/site/store.js b/animism-align/frontend/site/store.js
index 0b4aff7..2d9ffbc 100644
--- a/animism-align/frontend/site/store.js
+++ b/animism-align/frontend/site/store.js
@@ -1,25 +1,46 @@
-import { crudReducer } from 'app/api/crud.reducer'
+import { crudState, crudReducer } from 'app/api/crud.reducer'
import { applyMiddleware, compose, combineReducers, createStore } from 'redux'
import { connectRouter, routerMiddleware } from 'connected-react-router'
import { createBrowserHistory } from 'history'
import thunk from 'redux-thunk'
-// import siteReducer from './site/site.reducer'
+import audioReducer from 'app/views/audio/audio.reducer'
+import alignReducer from 'app/views/align/align.reducer'
+import viewerReducer from 'app/views/viewer/viewer.reducer'
+import paragraphReducer from 'app/views/paragraph/paragraph.reducer'
+import siteReducer from 'site/site/site.reducer'
+
+// document.querySelector("#plain_content").remove()
+const siteData = JSON.parse(document.querySelector("#site_data").innerText)
const createRootReducer = history => (
combineReducers([
"media",
- "upload",
"annotation",
"paragraph",
"episode",
"venue",
].reduce((a, type) => {
- a[type] = crudReducer(type)
+ a[type] = (() => {
+ const initialState = {
+ ...crudState(),
+ index: siteData[type],
+ }
+ if (type === 'paragraph') {
+ return (state=initialState, action) => paragraphReducer(state, action)
+ } else {
+ const typeReducer = crudReducer(type)
+ return (state=initialState, action) => typeReducer(state, action)
+ }
+ })()
return a
}, {
- auth: (state = {}) => state,
+ // auth: (state = {}) => state,
router: connectRouter(history),
+ site: siteReducer,
+ audio: audioReducer,
+ align: alignReducer,
+ viewer: viewerReducer,
}))
)