diff options
Diffstat (limited to 'animism-align/frontend/site/store.js')
| -rw-r--r-- | animism-align/frontend/site/store.js | 31 |
1 files changed, 26 insertions, 5 deletions
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, })) ) |
