Answering questions using buttons works

This commit is contained in:
Berkeley Martinez
2016-02-05 17:41:30 -08:00
parent 943367c17b
commit f2494e5577
3 changed files with 6 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import { getMouse } from './utils';
// fetchHikes(dashedName?: String) => Action // fetchHikes(dashedName?: String) => Action
// used with fetchHikesSaga // used with fetchHikesSaga
export const fetchHikes = createAction(types.fetchHikes); export const fetchHikes = createAction(types.fetchHikes);
// fetchHikesCompleted(hikes: Object) => Action // fetchHikesCompleted(hikes: Object) => Action
// hikes is a normalized response from server // hikes is a normalized response from server
// called within fetchHikesSaga // called within fetchHikesSaga
@ -14,6 +15,7 @@ export const fetchHikesCompleted = createAction(
types.fetchHikesCompleted, types.fetchHikesCompleted,
(hikes, currentHike) => ({ hikes, currentHike }) (hikes, currentHike) => ({ hikes, currentHike })
); );
export const resetHike = createAction(types.resetHike); export const resetHike = createAction(types.resetHike);
export const toggleQuestionView = createAction(types.toggleQuestionView); export const toggleQuestionView = createAction(types.toggleQuestionView);

View File

@ -118,6 +118,8 @@ function handleAnswer(getState, dispatch, next, action) {
type: 'error', type: 'error',
error error
})) }))
// end with action so we know it is ok to transition
.doOnCompleted(() => dispatch({ type: types.transitionHike }))
.doOnNext(dispatch); .doOnNext(dispatch);
} }
@ -129,7 +131,7 @@ export default () => ({ getState, dispatch }) => next => {
// let goToNextQuestion hit reducers first // let goToNextQuestion hit reducers first
const result = next(action); const result = next(action);
if (action.type === types.goToNextHike) { if (action.type === types.transitionHike) {
const { hikesApp: { currentHike } } = getState(); const { hikesApp: { currentHike } } = getState();
// if no next hike currentHike will equal '' which is falsy // if no next hike currentHike will equal '' which is falsy
if (currentHike) { if (currentHike) {

View File

@ -15,6 +15,7 @@ const types = [
'primeNextQuestion', 'primeNextQuestion',
'goToNextQuestion', 'goToNextQuestion',
'transitionHike',
'hikeCompleted', 'hikeCompleted',
'goToNextHike' 'goToNextHike'