From 1a858fe53c08e22f814856571876ea1b5ad3120f Mon Sep 17 00:00:00 2001 From: Berkeley Martinez Date: Wed, 6 Jan 2016 15:39:41 -0800 Subject: [PATCH] Fix hike transition bug --- common/app/flux/Store.js | 2 ++ common/app/routes/Hikes/components/Hike.jsx | 13 +++++++------ common/app/routes/Hikes/flux/Actions.js | 19 ++++++++++++++++++- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/common/app/flux/Store.js b/common/app/flux/Store.js index b7accbc467..36116ad7b0 100644 --- a/common/app/flux/Store.js +++ b/common/app/flux/Store.js @@ -48,6 +48,7 @@ export default Store({ toggleQuestions, fetchHikes, hideInfo, + resetHike, grabQuestion, releaseQuestion, moveQuestion, @@ -59,6 +60,7 @@ export default Store({ toggleQuestions, fetchHikes, hideInfo, + resetHike, grabQuestion, releaseQuestion, moveQuestion, diff --git a/common/app/routes/Hikes/components/Hike.jsx b/common/app/routes/Hikes/components/Hike.jsx index d4e323c0c3..f9b859db36 100644 --- a/common/app/routes/Hikes/components/Hike.jsx +++ b/common/app/routes/Hikes/components/Hike.jsx @@ -23,12 +23,13 @@ export default contain( showQuestions: PropTypes.bool }, - componentWillReceiveProps({ params: { dashedName }, showQuestions }) { - if ( - showQuestions && - this.props.params.dashedName !== dashedName - ) { - this.props.hikesActions.toggleQuestions(); + componentWillUnmount() { + this.props.hikesActions.resetHike(); + }, + + componentWillReceiveProps({ params: { dashedName } }) { + if (this.props.params.dashedName !== dashedName) { + this.props.hikesActions.resetHike(); } }, diff --git a/common/app/routes/Hikes/flux/Actions.js b/common/app/routes/Hikes/flux/Actions.js index 05fcc0c373..d68c34c2ec 100644 --- a/common/app/routes/Hikes/flux/Actions.js +++ b/common/app/routes/Hikes/flux/Actions.js @@ -175,7 +175,8 @@ export default Actions({ transform(state) { const hikesApp = { ...state.hikesApp, - mouse: [0, 0] + mouse: [0, 0], + showInfo: false }; return { ...state, hikesApp }; } @@ -250,5 +251,21 @@ export default Actions({ .catch(err => Observable.just({ transform(state) { return { ...state, err }; } })); + }, + resetHike() { + return { + transform(state) { + return { ...state, + hikesApp: { + ...state.hikesApp, + currentQuestion: 1, + showQuestions: false, + showInfo: false, + mouse: [0, 0], + delta: [0, 0] + } + }; + } + }; } });