Fix transition bug
This commit is contained in:
@ -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);
|
||||||
|
Reference in New Issue
Block a user