summaryrefslogtreecommitdiff
path: root/animism-align
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2021-03-08 22:11:55 +0100
committerJules Laplace <julescarbon@gmail.com>2021-03-08 22:11:55 +0100
commitd2cb17038b8537a609be06be2ed7013dbe27117e (patch)
tree028ceac9edddafc03ce80c49d5a05981bec3fcbe /animism-align
parentb5ceb782f40fc1e402d1e58bc1ced2e4038fd787 (diff)
beginning the BIG refactor. moving editor stuff into per-episode hierarchy
Diffstat (limited to 'animism-align')
-rw-r--r--animism-align/cli/app/sql/models/episode.py2
-rw-r--r--animism-align/cli/app/sql/models/paragraph.py2
-rw-r--r--animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py31
-rw-r--r--animism-align/frontend/app/actions.js6
-rw-r--r--animism-align/frontend/app/router.js31
-rw-r--r--animism-align/frontend/app/store.js11
-rw-r--r--animism-align/frontend/app/views/auth/auth.gate.js1
-rw-r--r--animism-align/frontend/app/views/editor/align/align.actions.js (renamed from animism-align/frontend/app/views/align/align.actions.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/align.container.js (renamed from animism-align/frontend/app/views/align/align.container.js)4
-rw-r--r--animism-align/frontend/app/views/editor/align/align.css (renamed from animism-align/frontend/app/views/align/align.css)0
-rw-r--r--animism-align/frontend/app/views/editor/align/align.reducer.js (renamed from animism-align/frontend/app/views/align/align.reducer.js)15
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.css (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.form.css)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.form.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.css (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.index.css)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotation.index.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.gallery.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.gallery.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.image.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.image.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.text.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.text.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.utility.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.utility.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.video.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.video.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/index.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationForms/index.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.gallery.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.gallery.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.image.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.image.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.text.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.text.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.utility.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.utility.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.video.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.video.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/index.js (renamed from animism-align/frontend/app/views/align/components/annotations/annotationTypes/index.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/player/playButton.component.js (renamed from animism-align/frontend/app/views/align/components/player/playButton.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/sidebar/script.component.js (renamed from animism-align/frontend/app/views/align/components/sidebar/script.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/sidebar/tableOfContents.component.js (renamed from animism-align/frontend/app/views/align/components/sidebar/tableOfContents.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/timeline/cursor.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/cursor.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/timeline/cursorRegion.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/cursorRegion.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/timeline/playCursor.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/playCursor.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/timeline/ticks.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/ticks.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/components/timeline/waveform.component.js (renamed from animism-align/frontend/app/views/align/components/timeline/waveform.component.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/containers/annotations.container.js (renamed from animism-align/frontend/app/views/align/containers/annotations.container.js)4
-rw-r--r--animism-align/frontend/app/views/editor/align/containers/sidebar.container.js (renamed from animism-align/frontend/app/views/align/containers/sidebar.container.js)0
-rw-r--r--animism-align/frontend/app/views/editor/align/containers/timeline.container.js (renamed from animism-align/frontend/app/views/align/containers/timeline.container.js)12
-rw-r--r--animism-align/frontend/app/views/editor/annotation/annotation.reducer.js (renamed from animism-align/frontend/app/views/annotation/annotation.reducer.js)0
-rw-r--r--animism-align/frontend/app/views/editor/editor.container.js22
-rw-r--r--animism-align/frontend/app/views/editor/editor.gate.js32
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.form.js (renamed from animism-align/frontend/app/views/media/components/media.form.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.formFile.js (renamed from animism-align/frontend/app/views/media/components/media.formFile.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.formGallery.js (renamed from animism-align/frontend/app/views/media/components/media.formGallery.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.formGalleryImage.js (renamed from animism-align/frontend/app/views/media/components/media.formGalleryImage.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.formImage.js (renamed from animism-align/frontend/app/views/media/components/media.formImage.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.formImageSelection.js (renamed from animism-align/frontend/app/views/media/components/media.formImageSelection.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.formVideo.js (renamed from animism-align/frontend/app/views/media/components/media.formVideo.js)2
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.indexOptions.js (renamed from animism-align/frontend/app/views/media/components/media.indexOptions.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/components/media.menu.js (renamed from animism-align/frontend/app/views/media/components/media.menu.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/containers/media.edit.js (renamed from animism-align/frontend/app/views/media/containers/media.edit.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/containers/media.index.js (renamed from animism-align/frontend/app/views/media/containers/media.index.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/containers/media.new.js (renamed from animism-align/frontend/app/views/media/containers/media.new.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/media.actions.js (renamed from animism-align/frontend/app/views/media/media.actions.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/media.container.js (renamed from animism-align/frontend/app/views/media/media.container.js)0
-rw-r--r--animism-align/frontend/app/views/editor/media/media.css (renamed from animism-align/frontend/app/views/media/media.css)0
-rw-r--r--animism-align/frontend/app/views/editor/media/media.reducer.js (renamed from animism-align/frontend/app/views/media/media.reducer.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/components/paragraph.form.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraph.form.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/components/paragraph.list.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraph.list.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/index.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/index.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.image.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.image.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.text.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.text.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.video.js (renamed from animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.video.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/containers/paragraphEditor.container.js (renamed from animism-align/frontend/app/views/paragraph/containers/paragraphEditor.container.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/paragraph.container.js (renamed from animism-align/frontend/app/views/paragraph/paragraph.container.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/paragraph.css (renamed from animism-align/frontend/app/views/paragraph/paragraph.css)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/paragraph.reducer.js (renamed from animism-align/frontend/app/views/paragraph/paragraph.reducer.js)0
-rw-r--r--animism-align/frontend/app/views/editor/paragraph/transcript.actions.js (renamed from animism-align/frontend/app/views/paragraph/transcript.actions.js)0
-rw-r--r--animism-align/frontend/app/views/index.js9
-rw-r--r--animism-align/frontend/app/views/nav/header.component.js46
-rw-r--r--animism-align/frontend/app/views/project/components/project.form.js11
-rw-r--r--animism-align/frontend/app/views/site/site.actions.js31
-rw-r--r--animism-align/frontend/app/views/site/site.reducer.js12
-rw-r--r--animism-align/frontend/app/views/viewer/player/player.transcript.js2
-rw-r--r--animism-align/frontend/app/views/viewer/transcript/transcript.container.js2
-rw-r--r--animism-align/frontend/app/views/viewer/viewer.container.js2
-rw-r--r--animism-align/frontend/site/actions.js3
-rw-r--r--animism-align/frontend/site/store.js7
78 files changed, 195 insertions, 105 deletions
diff --git a/animism-align/cli/app/sql/models/episode.py b/animism-align/cli/app/sql/models/episode.py
index 916c5dc..13b12c8 100644
--- a/animism-align/cli/app/sql/models/episode.py
+++ b/animism-align/cli/app/sql/models/episode.py
@@ -12,6 +12,7 @@ class Episode(Base):
"""Table for storing episodes and their metadata"""
__tablename__ = 'episode'
id = Column(Integer, primary_key=True)
+ project_id = Column(Integer)
episode_number = Column(Integer)
title = Column(String(256, convert_unicode=True), nullable=False)
release_date = Column(String(256, convert_unicode=True))
@@ -22,6 +23,7 @@ class Episode(Base):
def toJSON(self):
return {
'id': self.id,
+ 'project_id': self.project_id,
'episode_number': self.episode_number,
'title': self.title,
'release_date': self.release_date,
diff --git a/animism-align/cli/app/sql/models/paragraph.py b/animism-align/cli/app/sql/models/paragraph.py
index 5623db0..ee4aa5b 100644
--- a/animism-align/cli/app/sql/models/paragraph.py
+++ b/animism-align/cli/app/sql/models/paragraph.py
@@ -13,6 +13,7 @@ class Paragraph(Base):
"""Table for storing paragraphs, which contain annotations"""
__tablename__ = 'paragraph'
id = Column(Integer, primary_key=True)
+ episode_id = Column(Integer)
type = Column(String(16, convert_unicode=True), nullable=False)
start_ts = Column(Float, nullable=False)
end_ts = Column(Float, nullable=True)
@@ -21,6 +22,7 @@ class Paragraph(Base):
def toJSON(self):
return {
'id': self.id,
+ 'episode_id': self.episode_id,
'type': self.type,
'start_ts': self.start_ts,
'end_ts': self.end_ts,
diff --git a/animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py b/animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py
new file mode 100644
index 0000000..ea672fd
--- /dev/null
+++ b/animism-align/cli/app/sql/versions/202103082204_add_episode_project_field_everywhere.py
@@ -0,0 +1,31 @@
+"""add episode/project field everywhere
+
+Revision ID: 639488f6e800
+Revises: 0664d913e352
+Create Date: 2021-03-08 22:04:58.133358
+
+"""
+from alembic import op
+import sqlalchemy as sa
+import sqlalchemy_utc
+
+
+# revision identifiers, used by Alembic.
+revision = '639488f6e800'
+down_revision = '0664d913e352'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.add_column('episode', sa.Column('project_id', sa.Integer(), nullable=True))
+ op.add_column('paragraph', sa.Column('episode_id', sa.Integer(), nullable=True))
+ # ### end Alembic commands ###
+
+
+def downgrade():
+ # ### commands auto generated by Alembic - please adjust! ###
+ op.drop_column('paragraph', 'episode_id')
+ op.drop_column('episode', 'project_id')
+ # ### end Alembic commands ###
diff --git a/animism-align/frontend/app/actions.js b/animism-align/frontend/app/actions.js
index 4b75fce..4a2aaed 100644
--- a/animism-align/frontend/app/actions.js
+++ b/animism-align/frontend/app/actions.js
@@ -1,10 +1,12 @@
import { bindActionCreators } from 'redux'
import { crud_actions } from 'app/api/crud.actions'
+import * as transcriptActions from 'app/views/editor/paragraph/transcript.actions'
+import * as alignActions from 'app/views/editor/align/align.actions'
+
import * as viewerActions from 'app/views/viewer/viewer.actions'
-import * as transcriptActions from 'app/views/paragraph/transcript.actions'
+
import * as audioActions from 'app/views/audio/audio.actions'
-import * as alignActions from 'app/views/align/align.actions'
import * as siteActions from 'app/views/site/site.actions'
import * as authActions from 'app/views/auth/auth.actions'
diff --git a/animism-align/frontend/app/router.js b/animism-align/frontend/app/router.js
index e4ea05e..df4d647 100644
--- a/animism-align/frontend/app/router.js
+++ b/animism-align/frontend/app/router.js
@@ -4,16 +4,13 @@ import { Route } from 'react-router'
import AuthGate from 'app/views/auth/auth.gate'
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} />
- )
-})
+import ProjectContainer from 'app/views/project/project.container'
+import EpisodeContainer from 'app/views/episode/episode.container'
+import VenueContainer from 'app/views/venue/venue.container'
+import UploadContainer from 'app/views/upload/upload.container'
+import UserContainer from 'app/views/user/user.container'
+import EditorContainer from 'app/views/editor/editor.container'
export default class Router extends Component {
render() {
@@ -22,15 +19,19 @@ export default class Router extends Component {
<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
- }} />
+ <Route path='/project/' component={ProjectContainer} />
+ <Route path='/episode/' component={EpisodeContainer} />
+ <Route path='/editor/' component={EditorContainer} />
+ <Route path='/venue/' component={VenueContainer} />
+ <Route path='/upload/' component={UploadContainer} />
+ <Route path='/users/' component={UserContainer} />
</div>
</ConnectedRouter>
</AuthGate>
)
}
}
+
+/*
+ <Route exact path='/' render={DashboardContainer} />
+*/
diff --git a/animism-align/frontend/app/store.js b/animism-align/frontend/app/store.js
index 980437a..d1e10f0 100644
--- a/animism-align/frontend/app/store.js
+++ b/animism-align/frontend/app/store.js
@@ -1,14 +1,11 @@
import { applyMiddleware, compose, combineReducers, createStore } from 'redux'
import { connectRouter, routerMiddleware } from 'connected-react-router'
import { createBrowserHistory } from 'history'
-// import createDebounce from 'redux-debounced'
import thunk from 'redux-thunk'
// cms
import uploadReducer from 'app/views/upload/upload.reducer'
-import annotationReducer from 'app/views/annotation/annotation.reducer'
import siteReducer from 'app/views/site/site.reducer'
-import mediaReducer from 'app/views/media/media.reducer'
import episodeReducer from 'app/views/episode/episode.reducer'
import projectReducer from 'app/views/project/project.reducer'
import venueReducer from 'app/views/venue/venue.reducer'
@@ -16,12 +13,14 @@ import authReducer from 'app/views/auth/auth.reducer'
import userReducer from 'app/views/user/user.reducer'
// editor
-import alignReducer from 'app/views/align/align.reducer'
-import paragraphReducer from 'app/views/paragraph/paragraph.reducer'
+import mediaReducer from 'app/views/editor/media/media.reducer'
+import annotationReducer from 'app/views/editor/annotation/annotation.reducer'
+import alignReducer from 'app/views/editor/align/align.reducer'
+import paragraphReducer from 'app/views/editor/paragraph/paragraph.reducer'
// viewer
-import audioReducer from 'app/views/audio/audio.reducer'
import viewerReducer from 'app/views/viewer/viewer.reducer'
+import audioReducer from 'app/views/audio/audio.reducer'
const createRootReducer = history => (
combineReducers({
diff --git a/animism-align/frontend/app/views/auth/auth.gate.js b/animism-align/frontend/app/views/auth/auth.gate.js
index fe4ddbd..e07316e 100644
--- a/animism-align/frontend/app/views/auth/auth.gate.js
+++ b/animism-align/frontend/app/views/auth/auth.gate.js
@@ -21,7 +21,6 @@ class AuthGate extends Component {
load() {
if (!this.props.user.id) return
- actions.site.loadProject()
}
render() {
diff --git a/animism-align/frontend/app/views/align/align.actions.js b/animism-align/frontend/app/views/editor/align/align.actions.js
index 1583e4e..1583e4e 100644
--- a/animism-align/frontend/app/views/align/align.actions.js
+++ b/animism-align/frontend/app/views/editor/align/align.actions.js
diff --git a/animism-align/frontend/app/views/align/align.container.js b/animism-align/frontend/app/views/editor/align/align.container.js
index 168feb8..281fd35 100644
--- a/animism-align/frontend/app/views/align/align.container.js
+++ b/animism-align/frontend/app/views/editor/align/align.container.js
@@ -4,8 +4,8 @@ import './align.css'
import './components/annotations/annotation.form.css'
import './components/annotations/annotation.index.css'
-import Timeline from 'app/views/align/containers/timeline.container.js'
-import Sidebar from 'app/views/align/containers/sidebar.container.js'
+import Timeline from 'app/views/editor/align/containers/timeline.container.js'
+import Sidebar from 'app/views/editor/align/containers/sidebar.container.js'
class Container extends Component {
componentDidMount() {
diff --git a/animism-align/frontend/app/views/align/align.css b/animism-align/frontend/app/views/editor/align/align.css
index d10b601..d10b601 100644
--- a/animism-align/frontend/app/views/align/align.css
+++ b/animism-align/frontend/app/views/editor/align/align.css
diff --git a/animism-align/frontend/app/views/align/align.reducer.js b/animism-align/frontend/app/views/editor/align/align.reducer.js
index 8a660c0..d37cd6d 100644
--- a/animism-align/frontend/app/views/align/align.reducer.js
+++ b/animism-align/frontend/app/views/editor/align/align.reducer.js
@@ -11,10 +11,12 @@ const initialState = {
selected_annotation_id: -1,
selected_paragraph_id: -1,
},
+ peaks: { loading: true },
+ text: { loading: true },
annotation: {},
selectedAnnotation: {},
options: {
- }
+ },
}
export default function alignReducer(state = initialState, action) {
@@ -22,7 +24,16 @@ export default function alignReducer(state = initialState, action) {
switch (action.type) {
case types.peaks.loaded:
// console.log('peaks duration:', action.data.length / 10)
- return state
+ return {
+ ...state,
+ peaks: action.data,
+ }
+
+ case types.text.loaded:
+ return {
+ ...state,
+ text: action.data,
+ }
case types.align.set_display_setting:
return {
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.form.css b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.css
index fa663c7..fa663c7 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotation.form.css
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.css
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.form.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.js
index 7b1918a..7b1918a 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotation.form.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.form.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.index.css b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.css
index afedbde..afedbde 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotation.index.css
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.css
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotation.index.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.js
index 8e1fa43..8e1fa43 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotation.index.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotation.index.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.gallery.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.gallery.js
index 0a8b3fb..0a8b3fb 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.gallery.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.gallery.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.image.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.image.js
index 3de2ac5..3de2ac5 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.image.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.image.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.text.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.text.js
index 8bc7675..8bc7675 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.text.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.text.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.utility.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.utility.js
index 7e823cc..7e823cc 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.utility.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.utility.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.video.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.video.js
index dd5f640..dd5f640 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/annotationForm.video.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/annotationForm.video.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationForms/index.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/index.js
index 8a1be48..8a1be48 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationForms/index.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationForms/index.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.gallery.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.gallery.js
index c7df7f8..c7df7f8 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.gallery.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.gallery.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.image.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.image.js
index d0a573e..d0a573e 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.image.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.image.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.text.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.text.js
index ea65610..ea65610 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.text.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.text.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.utility.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.utility.js
index 1238163..1238163 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.utility.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.utility.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.video.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.video.js
index 4ea9595..4ea9595 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/annotationTypes.video.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/annotationTypes.video.js
diff --git a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/index.js b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/index.js
index 1a89dbd..1a89dbd 100644
--- a/animism-align/frontend/app/views/align/components/annotations/annotationTypes/index.js
+++ b/animism-align/frontend/app/views/editor/align/components/annotations/annotationTypes/index.js
diff --git a/animism-align/frontend/app/views/align/components/player/playButton.component.js b/animism-align/frontend/app/views/editor/align/components/player/playButton.component.js
index f411941..f411941 100644
--- a/animism-align/frontend/app/views/align/components/player/playButton.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/player/playButton.component.js
diff --git a/animism-align/frontend/app/views/align/components/sidebar/script.component.js b/animism-align/frontend/app/views/editor/align/components/sidebar/script.component.js
index 6c20dfa..6c20dfa 100644
--- a/animism-align/frontend/app/views/align/components/sidebar/script.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/sidebar/script.component.js
diff --git a/animism-align/frontend/app/views/align/components/sidebar/tableOfContents.component.js b/animism-align/frontend/app/views/editor/align/components/sidebar/tableOfContents.component.js
index 34aedb5..34aedb5 100644
--- a/animism-align/frontend/app/views/align/components/sidebar/tableOfContents.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/sidebar/tableOfContents.component.js
diff --git a/animism-align/frontend/app/views/align/components/timeline/cursor.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/cursor.component.js
index 4a94100..4a94100 100644
--- a/animism-align/frontend/app/views/align/components/timeline/cursor.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/timeline/cursor.component.js
diff --git a/animism-align/frontend/app/views/align/components/timeline/cursorRegion.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/cursorRegion.component.js
index a0c9bd7..a0c9bd7 100644
--- a/animism-align/frontend/app/views/align/components/timeline/cursorRegion.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/timeline/cursorRegion.component.js
diff --git a/animism-align/frontend/app/views/align/components/timeline/playCursor.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/playCursor.component.js
index 854c43b..854c43b 100644
--- a/animism-align/frontend/app/views/align/components/timeline/playCursor.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/timeline/playCursor.component.js
diff --git a/animism-align/frontend/app/views/align/components/timeline/ticks.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/ticks.component.js
index 4530863..4530863 100644
--- a/animism-align/frontend/app/views/align/components/timeline/ticks.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/timeline/ticks.component.js
diff --git a/animism-align/frontend/app/views/align/components/timeline/waveform.component.js b/animism-align/frontend/app/views/editor/align/components/timeline/waveform.component.js
index 59a2c13..59a2c13 100644
--- a/animism-align/frontend/app/views/align/components/timeline/waveform.component.js
+++ b/animism-align/frontend/app/views/editor/align/components/timeline/waveform.component.js
diff --git a/animism-align/frontend/app/views/align/containers/annotations.container.js b/animism-align/frontend/app/views/editor/align/containers/annotations.container.js
index 167ae3a..cfcf7be 100644
--- a/animism-align/frontend/app/views/align/containers/annotations.container.js
+++ b/animism-align/frontend/app/views/editor/align/containers/annotations.container.js
@@ -1,8 +1,8 @@
import React, { Component } from 'react'
import { connect } from 'react-redux'
-import AnnotationForm from 'app/views/align/components/annotations/annotation.form'
-import AnnotationIndex from 'app/views/align/components/annotations/annotation.index'
+import AnnotationForm from 'app/views/editor/align/components/annotations/annotation.form'
+import AnnotationIndex from 'app/views/editor/align/components/annotations/annotation.index'
class Annotations extends Component {
constructor(props){
diff --git a/animism-align/frontend/app/views/align/containers/sidebar.container.js b/animism-align/frontend/app/views/editor/align/containers/sidebar.container.js
index 11f5314..11f5314 100644
--- a/animism-align/frontend/app/views/align/containers/sidebar.container.js
+++ b/animism-align/frontend/app/views/editor/align/containers/sidebar.container.js
diff --git a/animism-align/frontend/app/views/align/containers/timeline.container.js b/animism-align/frontend/app/views/editor/align/containers/timeline.container.js
index 57bac5d..feb4f6a 100644
--- a/animism-align/frontend/app/views/align/containers/timeline.container.js
+++ b/animism-align/frontend/app/views/editor/align/containers/timeline.container.js
@@ -4,12 +4,12 @@ import { connect } from 'react-redux'
import actions from 'app/actions'
-import Annotations from 'app/views/align/containers/annotations.container'
-import Waveform from 'app/views/align/components/timeline/waveform.component'
-import Ticks from 'app/views/align/components/timeline/ticks.component'
-import Cursor from 'app/views/align/components/timeline/cursor.component'
-import PlayCursor from 'app/views/align/components/timeline/playCursor.component'
-import CursorRegion from 'app/views/align/components/timeline/cursorRegion.component'
+import Annotations from 'app/views/editor/align/containers/annotations.container'
+import Waveform from 'app/views/editor/align/components/timeline/waveform.component'
+import Ticks from 'app/views/editor/align/components/timeline/ticks.component'
+import Cursor from 'app/views/editor/align/components/timeline/cursor.component'
+import PlayCursor from 'app/views/editor/align/components/timeline/playCursor.component'
+import CursorRegion from 'app/views/editor/align/components/timeline/cursorRegion.component'
import { WAVEFORM_SIZE, ZOOM_STEPS, INNER_HEIGHT } from 'app/constants'
import { clamp } from 'app/utils'
diff --git a/animism-align/frontend/app/views/annotation/annotation.reducer.js b/animism-align/frontend/app/views/editor/annotation/annotation.reducer.js
index 50232a9..50232a9 100644
--- a/animism-align/frontend/app/views/annotation/annotation.reducer.js
+++ b/animism-align/frontend/app/views/editor/annotation/annotation.reducer.js
diff --git a/animism-align/frontend/app/views/editor/editor.container.js b/animism-align/frontend/app/views/editor/editor.container.js
new file mode 100644
index 0000000..563f50d
--- /dev/null
+++ b/animism-align/frontend/app/views/editor/editor.container.js
@@ -0,0 +1,22 @@
+import React, { Component } from 'react'
+import { Route } from 'react-router'
+
+import EditorGate from 'app/views/editor/editor.gate'
+import AlignContainer from 'app/views/editor/align/align.container'
+import ParagraphContainer from 'app/views/editor/paragraph/paragraph.container'
+import MediaContainer from 'app/views/editor/media/media.container'
+import ViewerContainer from 'app/views/viewer/viewer.container'
+
+export default class Router extends Component {
+ render() {
+ return (
+ <EditorGate episode_id={this.props.match.params.episode_id}>
+ <Route path={"/editor/:episode_id/timeline/"} component={AlignContainer} />
+ <Route path={"/editor/:episode_id/transcript/"} component={ParagraphContainer} />
+ <Route path={"/editor/:episode_id/media/"} component={MediaContainer} />
+ <Route path={"/editor/:episode_id/viewer/"} component={ViewerContainer} />
+ <Route path={"/editor/:episode_id/"} exact component={MediaContainer} />
+ </EditorGate>
+ )
+ }
+}
diff --git a/animism-align/frontend/app/views/editor/editor.gate.js b/animism-align/frontend/app/views/editor/editor.gate.js
new file mode 100644
index 0000000..968680f
--- /dev/null
+++ b/animism-align/frontend/app/views/editor/editor.gate.js
@@ -0,0 +1,32 @@
+import React, { Component } from 'react'
+
+import { Loader } from 'app/common'
+
+import actions from 'app/actions'
+
+export default class EditorGate extends Component {
+ constructor(props) {
+ super(props)
+ this.load()
+ }
+
+ componentDidUpdate(prevProps) {
+ if (this.props.episode_id !== prevProps.episode_id) {
+ this.load()
+ }
+ }
+
+ load() {
+ this.props.episode_id && actions.site.loadEpisode()
+ }
+
+ render() {
+ if (this.props.logged_in) {
+ return this.props.children
+ }
+ return (
+ <Loader />
+ )
+ }
+}
+
diff --git a/animism-align/frontend/app/views/media/components/media.form.js b/animism-align/frontend/app/views/editor/media/components/media.form.js
index 2d21838..2d21838 100644
--- a/animism-align/frontend/app/views/media/components/media.form.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.form.js
diff --git a/animism-align/frontend/app/views/media/components/media.formFile.js b/animism-align/frontend/app/views/editor/media/components/media.formFile.js
index d3b1ae8..d3b1ae8 100644
--- a/animism-align/frontend/app/views/media/components/media.formFile.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.formFile.js
diff --git a/animism-align/frontend/app/views/media/components/media.formGallery.js b/animism-align/frontend/app/views/editor/media/components/media.formGallery.js
index 2cf894b..2cf894b 100644
--- a/animism-align/frontend/app/views/media/components/media.formGallery.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.formGallery.js
diff --git a/animism-align/frontend/app/views/media/components/media.formGalleryImage.js b/animism-align/frontend/app/views/editor/media/components/media.formGalleryImage.js
index 4d2b99c..4d2b99c 100644
--- a/animism-align/frontend/app/views/media/components/media.formGalleryImage.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.formGalleryImage.js
diff --git a/animism-align/frontend/app/views/media/components/media.formImage.js b/animism-align/frontend/app/views/editor/media/components/media.formImage.js
index dbbf69f..dbbf69f 100644
--- a/animism-align/frontend/app/views/media/components/media.formImage.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.formImage.js
diff --git a/animism-align/frontend/app/views/media/components/media.formImageSelection.js b/animism-align/frontend/app/views/editor/media/components/media.formImageSelection.js
index 966eb58..966eb58 100644
--- a/animism-align/frontend/app/views/media/components/media.formImageSelection.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.formImageSelection.js
diff --git a/animism-align/frontend/app/views/media/components/media.formVideo.js b/animism-align/frontend/app/views/editor/media/components/media.formVideo.js
index 35cee2d..315925c 100644
--- a/animism-align/frontend/app/views/media/components/media.formVideo.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.formVideo.js
@@ -7,7 +7,7 @@ import { capitalize } from 'app/utils'
import { posterURL } from 'app/utils/annotation.utils'
import { TextInput, LabelDescription, Select, TextArea, Checkbox, SubmitButton, Loader, FileInputField } from 'app/common'
-import { getVimeoMetadata } from 'app/views/media/media.actions'
+import { getVimeoMetadata } from 'app/views/editor/media/media.actions'
export default class MediaVideoForm extends Component {
state = {
diff --git a/animism-align/frontend/app/views/media/components/media.indexOptions.js b/animism-align/frontend/app/views/editor/media/components/media.indexOptions.js
index d8187c9..d8187c9 100644
--- a/animism-align/frontend/app/views/media/components/media.indexOptions.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.indexOptions.js
diff --git a/animism-align/frontend/app/views/media/components/media.menu.js b/animism-align/frontend/app/views/editor/media/components/media.menu.js
index b782cdc..b782cdc 100644
--- a/animism-align/frontend/app/views/media/components/media.menu.js
+++ b/animism-align/frontend/app/views/editor/media/components/media.menu.js
diff --git a/animism-align/frontend/app/views/media/containers/media.edit.js b/animism-align/frontend/app/views/editor/media/containers/media.edit.js
index cf5f671..cf5f671 100644
--- a/animism-align/frontend/app/views/media/containers/media.edit.js
+++ b/animism-align/frontend/app/views/editor/media/containers/media.edit.js
diff --git a/animism-align/frontend/app/views/media/containers/media.index.js b/animism-align/frontend/app/views/editor/media/containers/media.index.js
index da94d3c..da94d3c 100644
--- a/animism-align/frontend/app/views/media/containers/media.index.js
+++ b/animism-align/frontend/app/views/editor/media/containers/media.index.js
diff --git a/animism-align/frontend/app/views/media/containers/media.new.js b/animism-align/frontend/app/views/editor/media/containers/media.new.js
index c193c2f..c193c2f 100644
--- a/animism-align/frontend/app/views/media/containers/media.new.js
+++ b/animism-align/frontend/app/views/editor/media/containers/media.new.js
diff --git a/animism-align/frontend/app/views/media/media.actions.js b/animism-align/frontend/app/views/editor/media/media.actions.js
index 9919e46..9919e46 100644
--- a/animism-align/frontend/app/views/media/media.actions.js
+++ b/animism-align/frontend/app/views/editor/media/media.actions.js
diff --git a/animism-align/frontend/app/views/media/media.container.js b/animism-align/frontend/app/views/editor/media/media.container.js
index b597a6c..b597a6c 100644
--- a/animism-align/frontend/app/views/media/media.container.js
+++ b/animism-align/frontend/app/views/editor/media/media.container.js
diff --git a/animism-align/frontend/app/views/media/media.css b/animism-align/frontend/app/views/editor/media/media.css
index ebf8c33..ebf8c33 100644
--- a/animism-align/frontend/app/views/media/media.css
+++ b/animism-align/frontend/app/views/editor/media/media.css
diff --git a/animism-align/frontend/app/views/media/media.reducer.js b/animism-align/frontend/app/views/editor/media/media.reducer.js
index f13f9de..f13f9de 100644
--- a/animism-align/frontend/app/views/media/media.reducer.js
+++ b/animism-align/frontend/app/views/editor/media/media.reducer.js
diff --git a/animism-align/frontend/app/views/paragraph/components/paragraph.form.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.form.js
index 55cb74e..55cb74e 100644
--- a/animism-align/frontend/app/views/paragraph/components/paragraph.form.js
+++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.form.js
diff --git a/animism-align/frontend/app/views/paragraph/components/paragraph.list.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.list.js
index f7c9c58..f7c9c58 100644
--- a/animism-align/frontend/app/views/paragraph/components/paragraph.list.js
+++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraph.list.js
diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/index.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/index.js
index 5180d5e..5180d5e 100644
--- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/index.js
+++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/index.js
diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.image.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.image.js
index 4eab2cc..4eab2cc 100644
--- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.image.js
+++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.image.js
diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.text.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.text.js
index f0529c8..f0529c8 100644
--- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.text.js
+++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.text.js
diff --git a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.video.js b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.video.js
index ba7a996..ba7a996 100644
--- a/animism-align/frontend/app/views/paragraph/components/paragraphTypes/paragraphTypes.video.js
+++ b/animism-align/frontend/app/views/editor/paragraph/components/paragraphTypes/paragraphTypes.video.js
diff --git a/animism-align/frontend/app/views/paragraph/containers/paragraphEditor.container.js b/animism-align/frontend/app/views/editor/paragraph/containers/paragraphEditor.container.js
index 09ba70c..09ba70c 100644
--- a/animism-align/frontend/app/views/paragraph/containers/paragraphEditor.container.js
+++ b/animism-align/frontend/app/views/editor/paragraph/containers/paragraphEditor.container.js
diff --git a/animism-align/frontend/app/views/paragraph/paragraph.container.js b/animism-align/frontend/app/views/editor/paragraph/paragraph.container.js
index d0e9b86..d0e9b86 100644
--- a/animism-align/frontend/app/views/paragraph/paragraph.container.js
+++ b/animism-align/frontend/app/views/editor/paragraph/paragraph.container.js
diff --git a/animism-align/frontend/app/views/paragraph/paragraph.css b/animism-align/frontend/app/views/editor/paragraph/paragraph.css
index 5743dbb..5743dbb 100644
--- a/animism-align/frontend/app/views/paragraph/paragraph.css
+++ b/animism-align/frontend/app/views/editor/paragraph/paragraph.css
diff --git a/animism-align/frontend/app/views/paragraph/paragraph.reducer.js b/animism-align/frontend/app/views/editor/paragraph/paragraph.reducer.js
index 3b33128..3b33128 100644
--- a/animism-align/frontend/app/views/paragraph/paragraph.reducer.js
+++ b/animism-align/frontend/app/views/editor/paragraph/paragraph.reducer.js
diff --git a/animism-align/frontend/app/views/paragraph/transcript.actions.js b/animism-align/frontend/app/views/editor/paragraph/transcript.actions.js
index 336a79d..336a79d 100644
--- a/animism-align/frontend/app/views/paragraph/transcript.actions.js
+++ b/animism-align/frontend/app/views/editor/paragraph/transcript.actions.js
diff --git a/animism-align/frontend/app/views/index.js b/animism-align/frontend/app/views/index.js
deleted file mode 100644
index 6f86af0..0000000
--- a/animism-align/frontend/app/views/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export { default as align } from './align/align.container'
-export { default as paragraph } from './paragraph/paragraph.container'
-export { default as upload } from './upload/upload.container'
-export { default as media } from './media/media.container'
-export { default as viewer } from './viewer/viewer.container'
-export { default as episode } from './episode/episode.container'
-export { default as project } from './project/project.container'
-export { default as venue } from './venue/venue.container'
-export { default as users } from './user/user.container'
diff --git a/animism-align/frontend/app/views/nav/header.component.js b/animism-align/frontend/app/views/nav/header.component.js
index 28be4a7..bc04629 100644
--- a/animism-align/frontend/app/views/nav/header.component.js
+++ b/animism-align/frontend/app/views/nav/header.component.js
@@ -4,24 +4,39 @@ import { connect } from 'react-redux'
import { Link } from 'react-router-dom'
import actions from 'app/actions'
-import PlayButton from 'app/views/align/components/player/playButton.component'
+import PlayButton from 'app/views/editor/align/components/player/playButton.component'
import './nav.css'
function Header(props) {
- if (props.router.location && props.router.location.pathname.match("/viewer")) {
+ if (!props.router.location) return null
+ if (props.router.location.pathname.match("/viewer")) {
return null
}
+ if (props.router.location.pathname.match("/editor")) {
+ const { episode_id } = this.props.match.params
+ return (
+ <header>
+ <PlayButton playing={props.playing} />
+ <div>
+ <Link to={`/`}>{'<'}</Link>
+ <Link to={`/editor/${episode_id}/timeline/`}>Timeline</Link>
+ <Link to={`/editor/${episode_id}/transcript/`}>Transcript</Link>
+ <Link to={`/editor/${episode_id}/media/`}>Media</Link>
+ <Link to={`/editor/${episode_id}/viewer/`}>Viewer</Link>
+ <Link to="/episode/">Episodes</Link>
+ <Link to="/venue/">Venues</Link>
+ </div>
+ </header>
+ )
+ }
return (
<header>
<PlayButton playing={props.playing} />
<div>
- <Link to="/align">Timeline</Link>
- <Link to="/paragraph">Transcript</Link>
- <Link to="/media">Media</Link>
- <Link to="/episode">Episodes</Link>
- <Link to="/venue">Venues</Link>
- <Link to="/viewer">Viewer</Link>
+ <Link to="/project/">Projects</Link>
+ <Link to="/episode/">Episodes</Link>
+ <Link to="/venue/">Venues</Link>
{props.currentUser.is_admin && <Link to="/users">Users</Link>}
<a href="#" onClick={actions.auth.logout}>
Logout
@@ -31,24 +46,11 @@ function Header(props) {
)
}
-// const changeUsername = () => {
-// const username = prompt("Please enter your username:", session('username'))
-// if (username && username.length) {
-// session.set('username', username)
-// document.querySelector('Header div span').innerText = ' → ' + username // very naughty
-// }
-// }
-
const mapStateToProps = (state) => ({
currentUser: state.auth.user,
site: state.site,
router: state.router,
playing: state.audio.playing,
- // username: session.get('username'),
- // isAuthenticated: state.auth.isAuthenticated,
-})
-
-const mapDispatchToProps = (dispatch) => ({
})
-export default connect(mapStateToProps, mapDispatchToProps)(React.memo(Header))
+export default connect(mapStateToProps)(React.memo(Header))
diff --git a/animism-align/frontend/app/views/project/components/project.form.js b/animism-align/frontend/app/views/project/components/project.form.js
index 7a2ef2e..f4d1749 100644
--- a/animism-align/frontend/app/views/project/components/project.form.js
+++ b/animism-align/frontend/app/views/project/components/project.form.js
@@ -163,7 +163,7 @@ export default class ProjectForm extends Component {
name="description"
required
data={data.settings}
- onChange={this.handleSettingsChange}
+ onChange={this.handleSettingsChangeEvent}
autoComplete="off"
/>
@@ -172,26 +172,23 @@ export default class ProjectForm extends Component {
<TextInput
title="Base URL"
name="base_href"
- required
data={data.settings}
- onChange={this.handleSettingsChange}
+ onChange={this.handleSettingsChangeEvent}
autoComplete="off"
/>
<TextInput
title="FTP URL"
name="ftp_url"
- required
data={data.settings}
- onChange={this.handleSettingsChange}
+ onChange={this.handleSettingsChangeEvent}
autoComplete="off"
/>
<TextInput
title="FTP Base Path"
name="ftp_base_path"
- required
data={data.settings}
- onChange={this.handleSettingsChange}
+ onChange={this.handleSettingsChangeEvent}
autoComplete="off"
/>
diff --git a/animism-align/frontend/app/views/site/site.actions.js b/animism-align/frontend/app/views/site/site.actions.js
index 2ff7467..1c51b53 100644
--- a/animism-align/frontend/app/views/site/site.actions.js
+++ b/animism-align/frontend/app/views/site/site.actions.js
@@ -4,17 +4,26 @@ import actions from 'app/actions'
import { URLS } from 'app/constants'
import FontFaceObserver from 'fontfaceobserver'
-export const loadProject = () => dispatch => {
+export const loadSite = () => dispatch => {
Promise.all([
- actions.site.loadText(),
- actions.site.loadPeaks(),
- actions.audio.load(),
- actions.annotation.index(),
- actions.paragraph.index(),
- actions.media.index(),
+ loadFonts(),
+ actions.project.index(),
actions.episode.index(),
actions.venue.index(),
- loadFonts(),
+ ]).then(() => {
+ }).catch(err => {
+ console.error(err)
+ })
+}
+
+export const loadEpisode = (episode) => dispatch => {
+ Promise.all([
+ // actions.site.loadText(episode),
+ actions.site.loadPeaks(episode),
+ actions.audio.load(episode),
+ actions.annotation.index({ episode_id: episode.id }),
+ actions.paragraph.index({ episode_id: episode.id }),
+ actions.media.index({ episode_id: episode.id }),
]).then(() => {
actions.viewer.loadSections()
}).catch(err => {
@@ -35,9 +44,9 @@ export const loadPeaks = (asdf) => dispatch => (
api(dispatch, types.peaks, 'peaks', URLS.peaks)
)
-export const loadText = (asdf) => dispatch => (
- api(dispatch, types.text, 'text', URLS.text)
-)
+// export const loadText = (asdf) => dispatch => (
+ // api(dispatch, types.text, 'text', URLS.text)
+// )
export const updateText = text => dispatch => (
dispatch({ type: types.text.loaded, data: text })
diff --git a/animism-align/frontend/app/views/site/site.reducer.js b/animism-align/frontend/app/views/site/site.reducer.js
index fbb53fc..d6a475e 100644
--- a/animism-align/frontend/app/views/site/site.reducer.js
+++ b/animism-align/frontend/app/views/site/site.reducer.js
@@ -1,23 +1,11 @@
import * as types from 'app/types'
const initialState = {
- peaks: { loading: true },
- text: { loading: true },
}
export default function siteReducer(state = initialState, action) {
// console.log(action.type, action)
switch (action.type) {
- case types.peaks.loaded:
- return {
- ...state,
- peaks: action.data,
- }
- case types.text.loaded:
- return {
- ...state,
- text: action.data,
- }
default:
return state
}
diff --git a/animism-align/frontend/app/views/viewer/player/player.transcript.js b/animism-align/frontend/app/views/viewer/player/player.transcript.js
index 7882ef0..cfb252d 100644
--- a/animism-align/frontend/app/views/viewer/player/player.transcript.js
+++ b/animism-align/frontend/app/views/viewer/player/player.transcript.js
@@ -6,7 +6,7 @@ import { connect } from 'react-redux'
import actions from 'app/actions'
import { isHandheld, xor, timestampToSeconds } from 'app/utils'
-import ParagraphList from 'app/views/paragraph/components/paragraph.list'
+import ParagraphList from 'app/views/editor/paragraph/components/paragraph.list'
import { inlineComponents } from './components.inline'
class PlayerTranscript extends Component {
diff --git a/animism-align/frontend/app/views/viewer/transcript/transcript.container.js b/animism-align/frontend/app/views/viewer/transcript/transcript.container.js
index 77bf585..fad0ac8 100644
--- a/animism-align/frontend/app/views/viewer/transcript/transcript.container.js
+++ b/animism-align/frontend/app/views/viewer/transcript/transcript.container.js
@@ -7,7 +7,7 @@ import actions from 'app/actions'
import { toArray, floatInRange } from 'app/utils'
import oktween from 'app/utils/oktween'
-import ParagraphList from 'app/views/paragraph/components/paragraph.list'
+import ParagraphList from 'app/views/editor/paragraph/components/paragraph.list'
import { transcriptElementLookup } from './components'
class Transcript extends Component {
diff --git a/animism-align/frontend/app/views/viewer/viewer.container.js b/animism-align/frontend/app/views/viewer/viewer.container.js
index 3d18745..872e67f 100644
--- a/animism-align/frontend/app/views/viewer/viewer.container.js
+++ b/animism-align/frontend/app/views/viewer/viewer.container.js
@@ -82,7 +82,7 @@ class ViewerContainer extends Component {
<ViewerSections />
<Transcript />
<Checklist />
- {ENV_DEVELOPMENT && <Route exact path='/viewer/:component/' component={ViewerRouter} />}
+ {ENV_DEVELOPMENT && <Route exact path='/episode/:episode_id/viewer/:component/' component={ViewerRouter} />}
</div>
<VitrineModal />
{isHandheld && <HandheldModal />}
diff --git a/animism-align/frontend/site/actions.js b/animism-align/frontend/site/actions.js
index 2642469..fbe2043 100644
--- a/animism-align/frontend/site/actions.js
+++ b/animism-align/frontend/site/actions.js
@@ -4,7 +4,8 @@ import { bindActionCreators } from 'redux'
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 * as transcriptActions from 'app/views/editor/paragraph/transcript.actions'
import { store } from './store'
diff --git a/animism-align/frontend/site/store.js b/animism-align/frontend/site/store.js
index 2d9ffbc..2622412 100644
--- a/animism-align/frontend/site/store.js
+++ b/animism-align/frontend/site/store.js
@@ -5,11 +5,12 @@ import { createBrowserHistory } from 'history'
import thunk from 'redux-thunk'
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'
+import alignReducer from 'app/views/editor/align/align.reducer'
+import paragraphReducer from 'app/views/editor/paragraph/paragraph.reducer'
+import viewerReducer from 'app/views/viewer/viewer.reducer'
+
// document.querySelector("#plain_content").remove()
const siteData = JSON.parse(document.querySelector("#site_data").innerText)