From d5d6b6c5cff095fb39bf2fff24445451b25bd53b Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 5 Nov 2020 20:03:24 +0100 Subject: read the transcript at end of first section --- animism-align/frontend/app/types.js | 2 +- animism-align/frontend/app/views/viewer/nav/eflux.chrome.js | 6 ++++-- animism-align/frontend/app/views/viewer/viewer.actions.js | 8 ++++++-- animism-align/frontend/app/views/viewer/viewer.reducer.js | 7 +++++++ 4 files changed, 18 insertions(+), 5 deletions(-) (limited to 'animism-align/frontend') 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 (
@@ -84,7 +84,7 @@ class EfluxChrome extends Component {
{this.state.playMessage}
-
+
{'Read the Transcript'}
@@ -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, -- cgit v1.2.3-70-g09d2