Fix transition bug

This commit is contained in:
Berkeley Martinez
2015-12-30 15:38:21 -08:00
parent 3ea152ed6d
commit bcd6a56de6

View File

@ -136,7 +136,8 @@ export default Actions({
userAnswer, userAnswer,
props: { props: {
hike: { id, name, tests, challengeType }, hike: { id, name, tests, challengeType },
currentQuestion currentQuestion,
username
} }
}) { }) {
@ -180,6 +181,10 @@ export default Actions({
} }
// challenge completed // challenge completed
const optimisticSave = username ?
this.post$('/completed-challenge', { id, name, challengeType }) :
Observable.just(true);
const correctAnswer = { const correctAnswer = {
transform(state) { transform(state) {
const hikesApp = { const hikesApp = {
@ -193,28 +198,29 @@ export default Actions({
} }
}; };
return this.post$('/completed-challenge', { id, name, challengeType }) return Observable.just({
.map(() => { transform(state) {
return { const { hikes, currentHike: { id } } = state.hikesApp;
transform(state) { const currentHike = findNextHike(hikes, id);
const { hikes, currentHike: { id } } = state.hikesApp;
const currentHike = findNextHike(hikes, id);
// go to next route // go to next route
state.route = currentHike && currentHike.dashedName ? state.route = currentHike && currentHike.dashedName ?
`/hikes/${ currentHike.dashedName }` : `/hikes/${ currentHike.dashedName }` :
'/hikes'; '/hikes';
const hikesApp = { const hikesApp = {
...state.hikesApp, ...state.hikesApp,
currentHike, currentHike,
showQuestions: false showQuestions: false,
}; currentQuestion: 1,
mouse: [0, 0]
};
return { ...state, hikesApp }; return { ...state, hikesApp };
} },
}; optimistic: optimisticSave
}) })
.delay(500)
.startWith(correctAnswer) .startWith(correctAnswer)
.catch(err => { .catch(err => {
console.error(err); console.error(err);