diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2020-11-05 20:03:24 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2020-11-05 20:03:24 +0100 |
| commit | d5d6b6c5cff095fb39bf2fff24445451b25bd53b (patch) | |
| tree | 9391a269c1d169e1132738fb410e1119c0212a2d | |
| parent | 0387bd453274e0bfd7d085a4fae26b5260a9f823 (diff) | |
read the transcript at end of first section
4 files changed, 18 insertions, 5 deletions
diff --git a/animism-align/frontend/app/types.js b/animism-align/frontend/app/types.js index d2b08b8..d55e27c 100644 --- a/animism-align/frontend/app/types.js +++ b/animism-align/frontend/app/types.js @@ -29,7 +29,7 @@ export const audio = with_type('audio', [ export const viewer = with_type('viewer', [ 'load_sections', 'toggle_component', 'toggle_nav_component', 'set_current_section', 'reached_end_of_section', - 'set_nav_style', 'set_media_title', + 'set_nav_style', 'set_media_title', 'set_value', 'open_vitrine_modal', 'close_vitrine_modal', 'set_vitrine_index', 'open_growl', 'close_growl', 'open_footnote', diff --git a/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js b/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js index 283f3cb..cdfc5dc 100644 --- a/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js +++ b/animism-align/frontend/app/views/viewer/nav/eflux.chrome.js @@ -47,7 +47,7 @@ class EfluxChrome extends Component { } } render() { - const { navStyle, playing, transcriptOpen, growlOpen, growlMessage } = this.props + const { navStyle, playing, transcriptOpen, growlOpen, growlMessage, atEndOfSection, currentSection } = this.props return ( <div className={"eflux-header " + navStyle + (transcriptOpen ? ' transcript-open' : '')}> <div className="eflux-logo"> @@ -84,7 +84,7 @@ class EfluxChrome extends Component { <div className={this.state.play ? "growl-tooltip tooltip-play hover" : "growl-tooltip tooltip-play"}> {this.state.playMessage} </div> - <div className={this.state.transcript ? "growl-tooltip tooltip-transcript hover" : "growl-tooltip tooltip-transcript"}> + <div className={((atEndOfSection && currentSection.index === 0) || this.state.transcript) ? "growl-tooltip tooltip-transcript hover" : "growl-tooltip tooltip-transcript"}> {'Read the Transcript'} </div> </div> @@ -98,6 +98,8 @@ const mapStateToProps = state => ({ transcriptOpen: state.viewer.transcript, growlOpen: state.viewer.growlOpen, growlMessage: state.viewer.growlMessage, + atEndOfSection: state.viewer.atEndOfSection, + currentSection: state.viewer.currentSection, }) export default connect(mapStateToProps)(EfluxChrome) diff --git a/animism-align/frontend/app/views/viewer/viewer.actions.js b/animism-align/frontend/app/views/viewer/viewer.actions.js index 449d224..e35567d 100644 --- a/animism-align/frontend/app/views/viewer/viewer.actions.js +++ b/animism-align/frontend/app/views/viewer/viewer.actions.js @@ -293,8 +293,12 @@ export const showCredits = () => dispatch => { export const reachedEndOfSection = currentSection => dispatch => { actions.audio.pause() dispatch({ type: types.viewer.reached_end_of_section }) - if (currentSection && currentSection.index === 0) { - actions.viewer.openGrowl(GROWL.REACHED_END_OF_FIRST_SECTION) + if (currentSection) { + // reached end of first section + if (currentSection.index === 0) { + actions.viewer.openGrowl(GROWL.REACHED_END_OF_FIRST_SECTION) + } + // reached end of last section } } diff --git a/animism-align/frontend/app/views/viewer/viewer.reducer.js b/animism-align/frontend/app/views/viewer/viewer.reducer.js index 587ae0f..e1a0167 100644 --- a/animism-align/frontend/app/views/viewer/viewer.reducer.js +++ b/animism-align/frontend/app/views/viewer/viewer.reducer.js @@ -36,6 +36,7 @@ const initialState = { /* growl message at top */ growlOpen: true, growlMessage: GROWL.OPENING_MESSAGE, + growlTranscriptOpen: false, /* vitrine */ vitrineModal: { @@ -50,6 +51,12 @@ const initialState = { export default function viewerReducer(state = initialState, action) { // console.log(action.type, action) switch (action.type) { + case types.viewer.set_value: + return { + ...state, + [action.key]: action.value, + } + case types.viewer.toggle_component: return { ...state, |
