@coorpacademy/app-review 0.17.2 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,8 +2,7 @@ import buildTask from '@coorpacademy/redux-task';
2
2
  import get from 'lodash/fp/get';
3
3
  import { fetchCorrection } from './fetch-correction';
4
4
  import { fetchSlide } from './fetch-slide';
5
- import { fetchEndRank, fetchStartRank } from './fetch-rank';
6
- import { fetchSlidesToReviewBySkillRef } from './fetch-slides-to-review-by-skill-ref';
5
+ import { fetchStartRank } from './fetch-rank';
7
6
  export const POST_ANSWER_REQUEST = '@@answer/POST_REQUEST';
8
7
  export const POST_ANSWER_SUCCESS = '@@answer/POST_SUCCESS';
9
8
  export const POST_ANSWER_FAILURE = '@@answer/POST_FAILURE';
@@ -31,8 +30,6 @@ export const postAnswer = async (dispatch, getState, { services }) => {
31
30
  }
32
31
  else {
33
32
  await dispatch(fetchCorrection);
34
- await dispatch(fetchEndRank);
35
- await dispatch(fetchSlidesToReviewBySkillRef);
36
33
  }
37
34
  }
38
35
  };
@@ -12,5 +12,5 @@ export declare type NextSlideAction = {
12
12
  type: typeof NEXT_SLIDE;
13
13
  payload: NextSlidePayload;
14
14
  };
15
- export declare const nextSlide: (dispatch: Dispatch, getState: () => StoreState) => NextSlideAction;
15
+ export declare const nextSlide: (dispatch: Dispatch, getState: () => StoreState) => Promise<NextSlideAction>;
16
16
  export {};
@@ -1,14 +1,17 @@
1
1
  import filter from 'lodash/fp/filter';
2
2
  import get from 'lodash/fp/get';
3
+ import { fetchEndRank } from '../api/fetch-rank';
4
+ import { fetchSlidesToReviewBySkillRef } from '../api/fetch-slides-to-review-by-skill-ref';
3
5
  export const NEXT_SLIDE = '@@slide/NEXT_SLIDE';
4
- export const nextSlide = (dispatch, getState) => {
6
+ export const nextSlide = async (dispatch, getState) => {
5
7
  const state = getState();
6
8
  const progression = state.data.progression;
7
9
  const { isCorrect, allAnswers, slides } = progression.state;
8
10
  const correctAnswers = filter((answer) => answer.isCorrect, allAnswers);
11
+ const nextSlideRef = get(['state', 'nextContent', 'ref'], state.data.progression);
9
12
  const payload = {
10
13
  currentSlideRef: get(['ui', 'currentSlideRef'], state),
11
- nextSlideRef: get(['state', 'nextContent', 'ref'], state.data.progression),
14
+ nextSlideRef,
12
15
  animationType: isCorrect ? 'unstack' : 'restack',
13
16
  totalCorrectAnswers: correctAnswers.length,
14
17
  answeredSlides: slides
@@ -17,5 +20,9 @@ export const nextSlide = (dispatch, getState) => {
17
20
  type: NEXT_SLIDE,
18
21
  payload
19
22
  };
23
+ if (nextSlideRef === 'successExitNode') {
24
+ await dispatch(fetchEndRank);
25
+ await dispatch(fetchSlidesToReviewBySkillRef);
26
+ }
20
27
  return dispatch(action);
21
28
  };
@@ -23,7 +23,7 @@ declare const _default: import("redux").Reducer<import("redux").CombinedState<{
23
23
  showButtonRevising: boolean;
24
24
  showCongrats: boolean;
25
25
  }>;
26
- }>, import("../actions/ui/slides").SetCurrentSlideAction | import("../actions/api/fetch-skill").ReceivedSkill | import("../actions/api/post-progression").FetchProgression | import("../actions/api/post-progression").ReceivedProgression | import("./data/corrections").CorrectionsAction | import("../actions/api/fetch-rank").RankAction | import("../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../actions/api/post-answer").PostAnswerRequestAction | import("../actions/api/post-answer").PostAnswerSuccessAction | import("./data/slides").SlidesAction | import("../actions/data/token").StoreToken | import("../actions/ui/next-slide").NextSlideAction | import("../actions/ui/navigation").NavigateToAction | import("../actions/ui/navigation").NavigateBackAction | import("../actions/ui/answers").EditAnswerAction | {
26
+ }>, import("../actions/ui/slides").SetCurrentSlideAction | import("../actions/api/fetch-skill").ReceivedSkill | import("../actions/api/post-progression").FetchProgression | import("../actions/api/post-progression").ReceivedProgression | import("./data/corrections").CorrectionsAction | import("../actions/api/fetch-rank").RankAction | import("../actions/api/post-answer").PostAnswerRequestAction | import("../actions/api/post-answer").PostAnswerSuccessAction | import("./data/slides").SlidesAction | import("../actions/data/token").StoreToken | import("../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../actions/ui/next-slide").NextSlideAction | import("../actions/ui/navigation").NavigateToAction | import("../actions/ui/navigation").NavigateBackAction | import("../actions/ui/answers").EditAnswerAction | {
27
27
  type: "@@ui/OPEN_POPIN";
28
28
  } | {
29
29
  type: "@@ui/CLOSE_POPIN";
@@ -5,8 +5,9 @@ const reducer = (
5
5
  // eslint-disable-next-line default-param-last
6
6
  state = '', action) => {
7
7
  switch (action.type) {
8
- case NEXT_SLIDE:
8
+ case NEXT_SLIDE: {
9
9
  return action.payload.nextSlideRef;
10
+ }
10
11
  case SET_CURRENT_SLIDE: {
11
12
  return action.payload._id;
12
13
  }
@@ -25,7 +25,7 @@ declare const _default: import("redux").Reducer<import("redux").CombinedState<{
25
25
  showQuitPopin: boolean;
26
26
  showButtonRevising: boolean;
27
27
  showCongrats: boolean;
28
- }>, import("../../actions/api/fetch-correction").ReceivedCorrection | import("../../actions/ui/slides").SetCurrentSlideAction | import("../../actions/api/fetch-slide").FetchSlide | import("../../actions/api/post-progression").FetchProgression | import("../../actions/api/post-progression").ReceivedProgression | import("../../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../../actions/api/post-answer").PostAnswerRequestAction | import("../../actions/ui/next-slide").NextSlideAction | import("../../actions/ui/navigation").NavigateToAction | import("../../actions/ui/navigation").NavigateBackAction | import("../../actions/ui/answers").EditAnswerAction | {
28
+ }>, import("../../actions/api/fetch-correction").ReceivedCorrection | import("../../actions/ui/slides").SetCurrentSlideAction | import("../../actions/api/fetch-slide").FetchSlide | import("../../actions/api/post-progression").FetchProgression | import("../../actions/api/post-progression").ReceivedProgression | import("../../actions/api/post-answer").PostAnswerRequestAction | import("../../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../../actions/ui/next-slide").NextSlideAction | import("../../actions/ui/navigation").NavigateToAction | import("../../actions/ui/navigation").NavigateBackAction | import("../../actions/ui/answers").EditAnswerAction | {
29
29
  type: "@@ui/OPEN_POPIN";
30
30
  } | {
31
31
  type: "@@ui/CLOSE_POPIN";
@@ -9,7 +9,6 @@ const get_1 = __importDefault(require("lodash/fp/get"));
9
9
  const fetch_correction_1 = require("./fetch-correction");
10
10
  const fetch_slide_1 = require("./fetch-slide");
11
11
  const fetch_rank_1 = require("./fetch-rank");
12
- const fetch_slides_to_review_by_skill_ref_1 = require("./fetch-slides-to-review-by-skill-ref");
13
12
  exports.POST_ANSWER_REQUEST = '@@answer/POST_REQUEST';
14
13
  exports.POST_ANSWER_SUCCESS = '@@answer/POST_SUCCESS';
15
14
  exports.POST_ANSWER_FAILURE = '@@answer/POST_FAILURE';
@@ -37,8 +36,6 @@ const postAnswer = async (dispatch, getState, { services }) => {
37
36
  }
38
37
  else {
39
38
  await dispatch(fetch_correction_1.fetchCorrection);
40
- await dispatch(fetch_rank_1.fetchEndRank);
41
- await dispatch(fetch_slides_to_review_by_skill_ref_1.fetchSlidesToReviewBySkillRef);
42
39
  }
43
40
  }
44
41
  };
@@ -12,5 +12,5 @@ export declare type NextSlideAction = {
12
12
  type: typeof NEXT_SLIDE;
13
13
  payload: NextSlidePayload;
14
14
  };
15
- export declare const nextSlide: (dispatch: Dispatch, getState: () => StoreState) => NextSlideAction;
15
+ export declare const nextSlide: (dispatch: Dispatch, getState: () => StoreState) => Promise<NextSlideAction>;
16
16
  export {};
@@ -6,15 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.nextSlide = exports.NEXT_SLIDE = void 0;
7
7
  const filter_1 = __importDefault(require("lodash/fp/filter"));
8
8
  const get_1 = __importDefault(require("lodash/fp/get"));
9
+ const fetch_rank_1 = require("../api/fetch-rank");
10
+ const fetch_slides_to_review_by_skill_ref_1 = require("../api/fetch-slides-to-review-by-skill-ref");
9
11
  exports.NEXT_SLIDE = '@@slide/NEXT_SLIDE';
10
- const nextSlide = (dispatch, getState) => {
12
+ const nextSlide = async (dispatch, getState) => {
11
13
  const state = getState();
12
14
  const progression = state.data.progression;
13
15
  const { isCorrect, allAnswers, slides } = progression.state;
14
16
  const correctAnswers = (0, filter_1.default)((answer) => answer.isCorrect, allAnswers);
17
+ const nextSlideRef = (0, get_1.default)(['state', 'nextContent', 'ref'], state.data.progression);
15
18
  const payload = {
16
19
  currentSlideRef: (0, get_1.default)(['ui', 'currentSlideRef'], state),
17
- nextSlideRef: (0, get_1.default)(['state', 'nextContent', 'ref'], state.data.progression),
20
+ nextSlideRef,
18
21
  animationType: isCorrect ? 'unstack' : 'restack',
19
22
  totalCorrectAnswers: correctAnswers.length,
20
23
  answeredSlides: slides
@@ -23,6 +26,10 @@ const nextSlide = (dispatch, getState) => {
23
26
  type: exports.NEXT_SLIDE,
24
27
  payload
25
28
  };
29
+ if (nextSlideRef === 'successExitNode') {
30
+ await dispatch(fetch_rank_1.fetchEndRank);
31
+ await dispatch(fetch_slides_to_review_by_skill_ref_1.fetchSlidesToReviewBySkillRef);
32
+ }
26
33
  return dispatch(action);
27
34
  };
28
35
  exports.nextSlide = nextSlide;
@@ -23,7 +23,7 @@ declare const _default: import("redux").Reducer<import("redux").CombinedState<{
23
23
  showButtonRevising: boolean;
24
24
  showCongrats: boolean;
25
25
  }>;
26
- }>, import("../actions/ui/slides").SetCurrentSlideAction | import("../actions/api/fetch-skill").ReceivedSkill | import("../actions/api/post-progression").FetchProgression | import("../actions/api/post-progression").ReceivedProgression | import("./data/corrections").CorrectionsAction | import("../actions/api/fetch-rank").RankAction | import("../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../actions/api/post-answer").PostAnswerRequestAction | import("../actions/api/post-answer").PostAnswerSuccessAction | import("./data/slides").SlidesAction | import("../actions/data/token").StoreToken | import("../actions/ui/next-slide").NextSlideAction | import("../actions/ui/navigation").NavigateToAction | import("../actions/ui/navigation").NavigateBackAction | import("../actions/ui/answers").EditAnswerAction | {
26
+ }>, import("../actions/ui/slides").SetCurrentSlideAction | import("../actions/api/fetch-skill").ReceivedSkill | import("../actions/api/post-progression").FetchProgression | import("../actions/api/post-progression").ReceivedProgression | import("./data/corrections").CorrectionsAction | import("../actions/api/fetch-rank").RankAction | import("../actions/api/post-answer").PostAnswerRequestAction | import("../actions/api/post-answer").PostAnswerSuccessAction | import("./data/slides").SlidesAction | import("../actions/data/token").StoreToken | import("../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../actions/ui/next-slide").NextSlideAction | import("../actions/ui/navigation").NavigateToAction | import("../actions/ui/navigation").NavigateBackAction | import("../actions/ui/answers").EditAnswerAction | {
27
27
  type: "@@ui/OPEN_POPIN";
28
28
  } | {
29
29
  type: "@@ui/CLOSE_POPIN";
@@ -7,8 +7,9 @@ const reducer = (
7
7
  // eslint-disable-next-line default-param-last
8
8
  state = '', action) => {
9
9
  switch (action.type) {
10
- case next_slide_1.NEXT_SLIDE:
10
+ case next_slide_1.NEXT_SLIDE: {
11
11
  return action.payload.nextSlideRef;
12
+ }
12
13
  case slides_1.SET_CURRENT_SLIDE: {
13
14
  return action.payload._id;
14
15
  }
@@ -25,7 +25,7 @@ declare const _default: import("redux").Reducer<import("redux").CombinedState<{
25
25
  showQuitPopin: boolean;
26
26
  showButtonRevising: boolean;
27
27
  showCongrats: boolean;
28
- }>, import("../../actions/api/fetch-correction").ReceivedCorrection | import("../../actions/ui/slides").SetCurrentSlideAction | import("../../actions/api/fetch-slide").FetchSlide | import("../../actions/api/post-progression").FetchProgression | import("../../actions/api/post-progression").ReceivedProgression | import("../../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../../actions/api/post-answer").PostAnswerRequestAction | import("../../actions/ui/next-slide").NextSlideAction | import("../../actions/ui/navigation").NavigateToAction | import("../../actions/ui/navigation").NavigateBackAction | import("../../actions/ui/answers").EditAnswerAction | {
28
+ }>, import("../../actions/api/fetch-correction").ReceivedCorrection | import("../../actions/ui/slides").SetCurrentSlideAction | import("../../actions/api/fetch-slide").FetchSlide | import("../../actions/api/post-progression").FetchProgression | import("../../actions/api/post-progression").ReceivedProgression | import("../../actions/api/post-answer").PostAnswerRequestAction | import("../../actions/api/fetch-slides-to-review-by-skill-ref").ReceivedSlidesToReviewBySkillRef | import("../../actions/ui/next-slide").NextSlideAction | import("../../actions/ui/navigation").NavigateToAction | import("../../actions/ui/navigation").NavigateBackAction | import("../../actions/ui/answers").EditAnswerAction | {
29
29
  type: "@@ui/OPEN_POPIN";
30
30
  } | {
31
31
  type: "@@ui/CLOSE_POPIN";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/app-review",
3
- "version": "0.17.2",
3
+ "version": "0.18.0",
4
4
  "description": "",
5
5
  "engines": {
6
6
  "node": ">=16.15.0"
@@ -74,5 +74,5 @@
74
74
  "webpack-cli": "^4.10.0",
75
75
  "webpack-dev-server": "^4.11.1"
76
76
  },
77
- "gitHead": "eb82d50689b9018562300e8c8cdcd7435e549808"
77
+ "gitHead": "2149667e6c6f574325693e739479cc32d7ee72b6"
78
78
  }