diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-07-22 16:53:44 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-07-22 16:53:44 +0200 |
| commit | 74888b0fea12020da23ad0825d5d3e55aa6155c4 (patch) | |
| tree | a60b473afd92f68df97eaa903edd657fba3e6856 /animism-align/frontend/app/views/viewer | |
| parent | ef78bc6a084f92b4794e987b5832240d85b6479e (diff) | |
adding spot for the viewer
Diffstat (limited to 'animism-align/frontend/app/views/viewer')
8 files changed, 213 insertions, 0 deletions
diff --git a/animism-align/frontend/app/views/viewer/containers/checklist.container.js b/animism-align/frontend/app/views/viewer/containers/checklist.container.js new file mode 100644 index 0000000..abe0ed1 --- /dev/null +++ b/animism-align/frontend/app/views/viewer/containers/checklist.container.js @@ -0,0 +1,28 @@ +import React, { Component } from 'react' +// import { Link } from 'react-router-dom' +// import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import actions from 'app/actions' +// import * as uploadActions from './upload.actions' + +class Transcript extends Component { + componentDidMount() { + } + render() { + const { } = this.props + return ( + <div className="transcript"> + </div> + ) + } +} + +const mapStateToProps = state => ({ +}) + +const mapDispatchToProps = dispatch => ({ + // uploadActions: bindActionCreators({ ...uploadActions }, dispatch), +}) + +export default connect(mapStateToProps, mapDispatchToProps)(Transcript) diff --git a/animism-align/frontend/app/views/viewer/containers/transcript.container.js b/animism-align/frontend/app/views/viewer/containers/transcript.container.js new file mode 100644 index 0000000..abe0ed1 --- /dev/null +++ b/animism-align/frontend/app/views/viewer/containers/transcript.container.js @@ -0,0 +1,28 @@ +import React, { Component } from 'react' +// import { Link } from 'react-router-dom' +// import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import actions from 'app/actions' +// import * as uploadActions from './upload.actions' + +class Transcript extends Component { + componentDidMount() { + } + render() { + const { } = this.props + return ( + <div className="transcript"> + </div> + ) + } +} + +const mapStateToProps = state => ({ +}) + +const mapDispatchToProps = dispatch => ({ + // uploadActions: bindActionCreators({ ...uploadActions }, dispatch), +}) + +export default connect(mapStateToProps, mapDispatchToProps)(Transcript) diff --git a/animism-align/frontend/app/views/viewer/containers/viewer.nav.js b/animism-align/frontend/app/views/viewer/containers/viewer.nav.js new file mode 100644 index 0000000..e1613b4 --- /dev/null +++ b/animism-align/frontend/app/views/viewer/containers/viewer.nav.js @@ -0,0 +1,28 @@ +import React, { Component } from 'react' +// import { Link } from 'react-router-dom' +// import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import actions from 'app/actions' +// import * as uploadActions from './upload.actions' + +class ViewerNav extends Component { + componentDidMount() { + } + render() { + const { } = this.props + return ( + <div className="viewerNav"> + </div> + ) + } +} + +const mapStateToProps = state => ({ +}) + +const mapDispatchToProps = dispatch => ({ + // uploadActions: bindActionCreators({ ...uploadActions }, dispatch), +}) + +export default connect(mapStateToProps, mapDispatchToProps)(ViewerNav) diff --git a/animism-align/frontend/app/views/viewer/containers/viewer.router.js b/animism-align/frontend/app/views/viewer/containers/viewer.router.js new file mode 100644 index 0000000..e84600f --- /dev/null +++ b/animism-align/frontend/app/views/viewer/containers/viewer.router.js @@ -0,0 +1,42 @@ +import React, { Component } from 'react' +import { Link } from 'react-router-dom' +import { connect } from 'react-redux' + +import actions from 'app/actions' + +class ViewerRouter extends Component { + componentDidMount() { + this.route() + } + componentDidUpdate() { + this.route() + } + route() { + console.log(this.props.match.params.component) + switch (this.props.match.params.component) { + case 'transcript': + break + case 'nav': + break + case 'checklist': + break + case 'fullscreenImage': + break + case 'fullscreenVideo': + break + case 'fullscreenCarousel': + break + case 'end': + break + } + } + render() { + return null + } +} + +const mapStateToProps = state => ({ + viewer: state.viewer, +}) + +export default connect(mapStateToProps)(ViewerRouter) diff --git a/animism-align/frontend/app/views/viewer/viewer.actions.js b/animism-align/frontend/app/views/viewer/viewer.actions.js new file mode 100644 index 0000000..ed59793 --- /dev/null +++ b/animism-align/frontend/app/views/viewer/viewer.actions.js @@ -0,0 +1,4 @@ +import * as types from 'app/types' +import { store, history, dispatch } from 'app/store' +// import { } from 'app/utils' +// import actions from 'app/actions' diff --git a/animism-align/frontend/app/views/viewer/viewer.container.js b/animism-align/frontend/app/views/viewer/viewer.container.js new file mode 100644 index 0000000..ff68c4c --- /dev/null +++ b/animism-align/frontend/app/views/viewer/viewer.container.js @@ -0,0 +1,66 @@ +import React, { Component } from 'react' +import { Route } from 'react-router-dom' +import { bindActionCreators } from 'redux' +import { connect } from 'react-redux' + +import './viewer.css' + +import actions from 'app/actions' +import { Loader } from 'app/common' + +import ViewerRouter from './containers/viewer.router' + +class ViewerContainer extends Component { + constructor(props) { + super(props) + this.handleKeyDown = this.handleKeyDown.bind(this) + } + componentDidMount() { + document.addEventListener('keydown', this.handleKeyDown) + } + componentWillUnmount() { + document.removeEventListener('keydown', this.handleKeyDown) + } + handleKeyDown(e) { + if (document.activeElement !== document.body) { + return + } + // console.log(e.keyCode) + switch (e.keyCode) { + case 32: // spacebar + e.preventDefault() + actions.audio.toggle() + break + case 37: // left + case 38: // up + e.preventDefault() + actions.audio.jump(-5.0) + break + case 39: // right + case 40: // down + e.preventDefault() + actions.audio.jump(5.0) + break + } + } + render() { + if (!this.props.loaded) { + return <div className='viewer body loading'><Loader /></div> + } + return ( + <div className='viewer body'> + <Route exact path='/viewer/:component/' component={ViewerRouter} /> + </div> + ) + } +} + +const mapStateToProps = state => ({ + loaded: !!state.annotation.lookup && !!state.paragraph.lookup && !!state.media.lookup +}) + +const mapDispatchToProps = dispatch => ({ + // alignActions: bindActionCreators({ ...alignActions }, dispatch), +}) + +export default connect(mapStateToProps, mapDispatchToProps)(ViewerContainer) diff --git a/animism-align/frontend/app/views/viewer/viewer.css b/animism-align/frontend/app/views/viewer/viewer.css new file mode 100644 index 0000000..00cfa2b --- /dev/null +++ b/animism-align/frontend/app/views/viewer/viewer.css @@ -0,0 +1,3 @@ +.viewer { + background: #fff; +}
\ No newline at end of file diff --git a/animism-align/frontend/app/views/viewer/viewer.reducer.js b/animism-align/frontend/app/views/viewer/viewer.reducer.js new file mode 100644 index 0000000..039d16f --- /dev/null +++ b/animism-align/frontend/app/views/viewer/viewer.reducer.js @@ -0,0 +1,14 @@ +import * as types from 'app/types' + +const initialState = { + options: { + } +} + +export default function viewerReducer(state = initialState, action) { + // console.log(action.type, action) + switch (action.type) { + default: + return state + } +} |
