From 92881093ae19e4d76193447c187028aee5cbe4c7 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 16 Nov 2020 17:03:07 +0100 Subject: getting the viewer-only version of the site working. flask command to run test server --- animism-align/frontend/site/actions.js | 11 ++++++--- animism-align/frontend/site/app.js | 31 ++++++++++-------------- animism-align/frontend/site/index.js | 4 +-- animism-align/frontend/site/site/site.reducer.js | 12 +++++++++ animism-align/frontend/site/store.js | 31 ++++++++++++++++++++---- 5 files changed, 60 insertions(+), 29 deletions(-) create mode 100644 animism-align/frontend/site/site/site.reducer.js (limited to 'animism-align/frontend/site') 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 ( - -
- { - // setTimeout(() => this.props.history.push('/'), 10) - return null - }} /> -
-
- ) + return + // return ( + // + //
+ // { + // // setTimeout(() => this.props.history.push('/'), 10) + // return null + // }} /> + //
+ //
+ // ) } } /* 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( - + , 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, })) ) -- cgit v1.2.3-70-g09d2