@gamelearn/arcade-components 1.3.4 → 1.3.5-hotfix-login-GAT-4291

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.
Files changed (53) hide show
  1. package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +21 -6
  2. package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +16 -7
  3. package/dist/components/chained-image-click-puzzle-component/components/ChainedImageClickPuzzleComponent.js +2 -4
  4. package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +8 -4
  5. package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +0 -2
  6. package/dist/components/comic-component/mocks/mockForStory.js +0 -1
  7. package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +15 -12
  8. package/dist/components/conversational-pro-component/components/scene/Panel.js +4 -1
  9. package/dist/components/conversational-pro-component/mocks/mockForStory.js +0 -6
  10. package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +13 -4
  11. package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +0 -5
  12. package/dist/components/decision-component/components/DecisionBody.js +4 -4
  13. package/dist/components/decision-component/components/DecisionComponent.js +20 -34
  14. package/dist/components/decision-component/components/Feedback.js +3 -15
  15. package/dist/components/decision-component/components/Options.js +2 -4
  16. package/dist/components/decision-component/mocks/mockForStory.js +0 -2
  17. package/dist/components/dialog-component/components/DialogComponent.js +34 -40
  18. package/dist/components/dialog-component/mocks/mockForStory.js +0 -1
  19. package/dist/components/drag-item-puzzle-component/components/DragItemPuzzleComponent.js +47 -8
  20. package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +2 -0
  21. package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +0 -3
  22. package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +17 -10
  23. package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +0 -3
  24. package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +13 -4
  25. package/dist/components/hanged-puzzle-component/mocks/mockForStory.js +1 -1
  26. package/dist/components/image-click-puzzle-component/components/ImageClickPuzzleComponent.js +2 -0
  27. package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +0 -4
  28. package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +0 -3
  29. package/dist/components/index.js +8 -0
  30. package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +8 -4
  31. package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +1 -1
  32. package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +16 -7
  33. package/dist/components/login-puzzle-component/mocks/mockForStory.js +1 -1
  34. package/dist/components/referral-component/components/EmailPill.js +30 -0
  35. package/dist/components/referral-component/components/ReferralComponent.js +144 -0
  36. package/dist/components/referral-component/components/StepOne.js +186 -0
  37. package/dist/components/referral-component/components/StepTwo.js +71 -0
  38. package/dist/components/referral-component/index.js +13 -0
  39. package/dist/components/referral-component/mocks/mockForStory.js +42 -0
  40. package/dist/components/terminal-puzzle-component/components/TerminalPuzzleComponent.js +13 -4
  41. package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +0 -2
  42. package/dist/components/test-component/components/Results.js +2 -27
  43. package/dist/components/test-component/components/TestComponent.js +40 -40
  44. package/dist/components/text-click-puzzle-component/components/TextClickPuzzleComponent.js +14 -5
  45. package/dist/components/text-click-puzzle-component/mocks/mockForStory.js +0 -2
  46. package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +14 -5
  47. package/dist/components/web-builder-puzzle-component/mocks/mockForStory.js +0 -1
  48. package/dist/components/writer-puzzle-component/components/FeedbackComponent.js +9 -27
  49. package/dist/components/writer-puzzle-component/components/FeedbackElement.js +8 -4
  50. package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +52 -55
  51. package/dist/components/writer-puzzle-component/mocks/mockForStory.js +0 -8
  52. package/package.json +1 -1
  53. package/dist/components/writer-puzzle-component/components/Rewards.js +0 -189
@@ -98,30 +98,23 @@ var TestComponent = function TestComponent(_ref) {
98
98
  isFirst = _useState16[0],
99
99
  changeFirst = _useState16[1];
100
100
 
101
- var _useState17 = (0, _react.useState)({
102
- negatives: {},
103
- positives: {}
104
- }),
101
+ var _useState17 = (0, _react.useState)({}),
105
102
  _useState18 = _slicedToArray(_useState17, 2),
106
- resultHolder = _useState18[0],
107
- setResultHolder = _useState18[1];
103
+ showingResult = _useState18[0],
104
+ setShowingResult = _useState18[1];
108
105
 
109
106
  var _useState19 = (0, _react.useState)({}),
110
107
  _useState20 = _slicedToArray(_useState19, 2),
111
- showingResult = _useState20[0],
112
- setShowingResult = _useState20[1];
108
+ historicAnswers = _useState20[0],
109
+ setHistoric = _useState20[1];
113
110
 
114
- var _useState21 = (0, _react.useState)({}),
111
+ var _useState21 = (0, _react.useState)(false),
115
112
  _useState22 = _slicedToArray(_useState21, 2),
116
- historicAnswers = _useState22[0],
117
- setHistoric = _useState22[1];
118
-
119
- var _useState23 = (0, _react.useState)(false),
120
- _useState24 = _slicedToArray(_useState23, 2),
121
- timeOver = _useState24[0],
122
- setTimeOver = _useState24[1];
113
+ timeOver = _useState22[0],
114
+ setTimeOver = _useState22[1];
123
115
 
124
116
  var isRequired = required || test.required || false;
117
+ var rewardedCorrectAnswers = (0, _react.useRef)({});
125
118
 
126
119
  var _soundActions = _slicedToArray(soundActions, 2),
127
120
  playSound = _soundActions[0],
@@ -180,11 +173,6 @@ var TestComponent = function TestComponent(_ref) {
180
173
 
181
174
  var parsedShowingResult = _objectSpread({}, showingResult);
182
175
 
183
- Object.keys(resultHolder.positives).forEach(function (questionID) {
184
- if (parsedShowingResult[questionID] && parsedShowingResult[questionID].id === resultHolder.positives[questionID].id) {
185
- delete parsedShowingResult[questionID];
186
- }
187
- });
188
176
  setShowingResult(parsedShowingResult);
189
177
  stop('test_bg');
190
178
  };
@@ -195,9 +183,10 @@ var TestComponent = function TestComponent(_ref) {
195
183
  result: result,
196
184
  status: 'resolved'
197
185
  };
198
- Object.keys(actualResult.result).forEach(function (questionID) {
199
- if (resultHolder.negatives[questionID]) {
200
- actualResult.result[questionID].rewards = [].concat(_toConsumableArray(actualResult.result[questionID].rewards), _toConsumableArray(resultHolder.negatives[questionID].rewards));
186
+ var resultKeys = Object.keys(result);
187
+ resultKeys.forEach(function (k) {
188
+ if (rewardedCorrectAnswers.current[result[k].id]) {
189
+ result[k].rewards = [];
201
190
  }
202
191
  });
203
192
  emitEvent({
@@ -207,25 +196,36 @@ var TestComponent = function TestComponent(_ref) {
207
196
  };
208
197
 
209
198
  var restartTest = function restartTest() {
210
- var holder = _objectSpread({}, resultHolder);
211
-
212
- Object.keys(result).forEach(function (questionID) {
213
- var isCorrect = result[questionID].isCorrect ? 'positives' : 'negatives';
199
+ var finishAddPoints = function finishAddPoints() {
200
+ setShowingResult({});
201
+ setHistoric({});
202
+ changeView('test');
203
+ setResult({});
204
+ setTime(countdown.time);
205
+ setTimeOver(false);
206
+ stop('test_bg');
207
+ };
214
208
 
215
- if (holder[isCorrect][questionID]) {
216
- holder[isCorrect][questionID].rewards = [].concat(_toConsumableArray(holder[isCorrect][questionID].rewards), _toConsumableArray(result[questionID].rewards));
217
- } else {
218
- holder[isCorrect][questionID] = result[questionID];
209
+ var resultAnswers = Object.values(result);
210
+ resultAnswers.forEach(function (a) {
211
+ if (a.isCorrect) {
212
+ if (!rewardedCorrectAnswers.current[a.id]) {
213
+ rewardedCorrectAnswers.current[a.id] = true;
214
+ } else {
215
+ a.rewards = [];
216
+ }
219
217
  }
220
218
  });
221
- setShowingResult({});
222
- setHistoric({});
223
- setResultHolder(holder);
224
- changeView('test');
225
- setResult({});
226
- setTime(countdown.time);
227
- setTimeOver(false);
228
- stop('test_bg');
219
+ var rewards = resultAnswers.reduce(function (acc, current) {
220
+ return [].concat(_toConsumableArray(acc), _toConsumableArray(current.rewards));
221
+ }, []);
222
+ emitEvent({
223
+ type: 'addPoints',
224
+ payload: rewards,
225
+ complex: true,
226
+ finish: false,
227
+ onFinish: finishAddPoints
228
+ });
229
229
  };
230
230
 
231
231
  var translate = function translate(id, values) {
@@ -55,7 +55,6 @@ var TextClickPuzzleComponent = function TextClickPuzzleComponent(_ref) {
55
55
  soundActions = _ref.soundActions,
56
56
  description = _ref.description,
57
57
  setInfo = _ref.setInfo,
58
- setShowPoints = _ref.setShowPoints,
59
58
  setResolveAction = _ref.setResolveAction;
60
59
 
61
60
  var _useState = (0, _react.useState)({
@@ -132,7 +131,12 @@ var TextClickPuzzleComponent = function TextClickPuzzleComponent(_ref) {
132
131
 
133
132
  return acc;
134
133
  }, []);
135
- setShowPoints(totalRewards);
134
+ emitEvent({
135
+ type: 'addPoints',
136
+ complex: true,
137
+ finish: true,
138
+ payload: totalRewards
139
+ });
136
140
  } else {
137
141
  parsedText.current = null;
138
142
  setCurrentSlide(currentSlide + 1);
@@ -142,7 +146,7 @@ var TextClickPuzzleComponent = function TextClickPuzzleComponent(_ref) {
142
146
  }, 1200);
143
147
  }
144
148
  }
145
- }, [isCompleted, correctTextFragmentsAccumulated, numberAllCorrectFragments, setShowPoints, currentSlide]);
149
+ }, [isCompleted, correctTextFragmentsAccumulated, numberAllCorrectFragments, emitEvent, currentSlide]);
146
150
  var handleFeedbackFuncionOnClose = (0, _react.useCallback)(function () {
147
151
  emitEvent({
148
152
  type: 'hidePuzzleButtons',
@@ -383,10 +387,15 @@ var TextClickPuzzleComponent = function TextClickPuzzleComponent(_ref) {
383
387
  type: 'hidePuzzleButtons',
384
388
  payload: false
385
389
  });
386
- setShowPoints(resolveRewards);
390
+ emitEvent({
391
+ type: 'addPoints',
392
+ complex: true,
393
+ finish: true,
394
+ payload: resolveRewards
395
+ });
387
396
  }, 2000);
388
397
  });
389
- }, [setResolveAction, emitEvent, setShowPoints, list, currentSlide]);
398
+ }, [setResolveAction, emitEvent, list, currentSlide]);
390
399
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
391
400
  className: "text-click text-click--".concat(styles),
392
401
  style: feedbackData.show ? {
@@ -17,7 +17,6 @@ exports.messages = messages;
17
17
  var mockProps = {
18
18
  emitEvent: _mocker.emitEvent,
19
19
  setResolveAction: function setResolveAction() {},
20
- setShowPoints: _mocker.setShowPoints,
21
20
  showFrames: true,
22
21
  soundActions: _mocker.soundActions,
23
22
  styles: 'chalkboard',
@@ -252,7 +251,6 @@ exports.mockProps = mockProps;
252
251
  var mockPropsOnce = {
253
252
  emitEvent: _mocker.emitEvent,
254
253
  setResolveAction: function setResolveAction() {},
255
- setShowPoints: _mocker.setShowPoints,
256
254
  showFrames: true,
257
255
  soundActions: _mocker.soundActions,
258
256
  styles: 'chalkboard',
@@ -77,8 +77,7 @@ var WebBuilderPuzzleComponent = function WebBuilderPuzzleComponent(_ref) {
77
77
  emitEvent = _ref.emitEvent,
78
78
  setResolveAction = _ref.setResolveAction,
79
79
  soundActions = _ref.soundActions,
80
- disableExit = _ref.disableExit,
81
- setShowPoints = _ref.setShowPoints;
80
+ disableExit = _ref.disableExit;
82
81
 
83
82
  var _useState = (0, _react.useState)(false),
84
83
  _useState2 = _slicedToArray(_useState, 2),
@@ -175,7 +174,12 @@ var WebBuilderPuzzleComponent = function WebBuilderPuzzleComponent(_ref) {
175
174
  var rewards = info.solution.right.rewards;
176
175
  var wrongRewards = info.solution.wrong.rewards;
177
176
  playSound(failed ? 'fail' : 'score');
178
- setShowPoints(failed ? wrongRewards : rewards);
177
+ emitEvent({
178
+ type: 'addPoints',
179
+ complex: true,
180
+ finish: true,
181
+ payload: failed ? wrongRewards : rewards
182
+ });
179
183
  }
180
184
  };
181
185
 
@@ -304,11 +308,16 @@ var WebBuilderPuzzleComponent = function WebBuilderPuzzleComponent(_ref) {
304
308
  showReference(false);
305
309
  setTimeout(function () {
306
310
  showCurrentFeed('');
307
- setShowPoints(info.resolve.rewards);
311
+ emitEvent({
312
+ type: 'addPoints',
313
+ complex: true,
314
+ finish: true,
315
+ payload: info.resolve.rewards
316
+ });
308
317
  }, 4000);
309
318
  });
310
319
  disableExit(true);
311
- }, [setResolveAction, disableExit, setShowPoints, info.resolve.rewards]);
320
+ }, [setResolveAction, disableExit, info.resolve.rewards, emitEvent]);
312
321
  var props = {
313
322
  showingReference: showingReference || resolved,
314
323
  isFacebook: isFacebook,
@@ -21,7 +21,6 @@ var mockProps = {
21
21
  },
22
22
  emitEvent: _mocker.emitEvent,
23
23
  soundActions: _mocker.soundActions,
24
- setShowPoints: _mocker.setShowPoints,
25
24
  setResolveAction: noop,
26
25
  disableExit: noop
27
26
  };
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _RewardsComponent = _interopRequireDefault(require("../../rewards-component/components/RewardsComponent"));
11
-
12
10
  var _FeedbackElement = _interopRequireDefault(require("./FeedbackElement"));
13
11
 
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -37,7 +35,6 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
37
35
  checkCorrect = _ref.checkCorrect,
38
36
  rewardsStack = _ref.rewardsStack,
39
37
  setFailed = _ref.setFailed,
40
- nodeId = _ref.nodeId,
41
38
  soundActions = _ref.soundActions;
42
39
 
43
40
  var _soundActions = _slicedToArray(soundActions, 1),
@@ -50,19 +47,6 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
50
47
  });
51
48
  };
52
49
 
53
- var DecisionElement = function DecisionElement(_ref2) {
54
- var decision = _ref2.decision;
55
-
56
- if (texts[decision.currenTextParagraph].electionTexts[decision.index].feedback.body) {
57
- return /*#__PURE__*/_react.default.createElement(_FeedbackElement.default, {
58
- decision: texts[decision.currenTextParagraph].electionTexts[decision.index],
59
- key: decision.index
60
- });
61
- }
62
-
63
- return null;
64
- };
65
-
66
50
  var close = function close() {
67
51
  playSound('click-ui');
68
52
  closingAction();
@@ -72,20 +56,19 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
72
56
 
73
57
  return /*#__PURE__*/_react.default.createElement("div", {
74
58
  className: "writer-feedback ".concat(!rewardsStack.length ? 'start' : '')
75
- }, /*#__PURE__*/_react.default.createElement("div", {
76
- className: "writer-feedback__points ".concat(!decisionsList ? 'center' : '')
77
59
  }, /*#__PURE__*/_react.default.createElement("div", {
78
60
  className: "writer-feedback__title"
79
- }, translate('puzzles.feedback')), rewardsStack.length !== 0 && /*#__PURE__*/_react.default.createElement(_RewardsComponent.default, {
80
- rewards: rewardsStack,
81
- nodeId: nodeId,
82
- emitEvent: emitEvent
83
- })), /*#__PURE__*/_react.default.createElement("div", {
61
+ }, translate('puzzles.feedback')), /*#__PURE__*/_react.default.createElement("div", {
84
62
  className: "writer-feedback__decisions"
85
63
  }, decisionsList.map(function (decision) {
86
- return /*#__PURE__*/_react.default.createElement(DecisionElement, {
87
- decision: decision
88
- });
64
+ if (texts[decision.currenTextParagraph].electionTexts[decision.index].feedback.body) {
65
+ return /*#__PURE__*/_react.default.createElement(_FeedbackElement.default, {
66
+ decision: texts[decision.currenTextParagraph].electionTexts[decision.index],
67
+ key: decision.index
68
+ });
69
+ }
70
+
71
+ return null;
89
72
  })), /*#__PURE__*/_react.default.createElement("div", {
90
73
  className: "writer-feedback__btns"
91
74
  }, skip && /*#__PURE__*/_react.default.createElement("button", {
@@ -124,7 +107,6 @@ FeedbackComponent.defaultProps = {
124
107
  retry: false,
125
108
  skip: false,
126
109
  checkCorrect: function checkCorrect() {},
127
- rewardsStack: [{}],
128
110
  nodeId: '0'
129
111
  };
130
112
  var _default = FeedbackComponent;
@@ -15,12 +15,16 @@ var FeedbackElement = function FeedbackElement(_ref) {
15
15
  title = _decision$feedback.title,
16
16
  body = _decision$feedback.body;
17
17
  return /*#__PURE__*/_react.default.createElement("div", null, body !== '' && /*#__PURE__*/_react.default.createElement("div", {
18
- className: "decision"
18
+ className: "writer-feedback-decision-item"
19
19
  }, title && /*#__PURE__*/_react.default.createElement("div", {
20
- className: "decision__title"
20
+ className: "writer-feedback-decision-item__title"
21
21
  }, title, " "), body && /*#__PURE__*/_react.default.createElement("div", {
22
- className: "decision__message"
23
- }, body, " ")));
22
+ className: "writer-feedback-decision-item__message"
23
+ }, decision.correct ? /*#__PURE__*/_react.default.createElement("span", {
24
+ className: "icon-check-circle-black color--success"
25
+ }) : /*#__PURE__*/_react.default.createElement("span", {
26
+ className: "icon-error-circle-black color--error"
27
+ }), /*#__PURE__*/_react.default.createElement("span", null, body))));
24
28
  };
25
29
 
26
30
  FeedbackElement.defaultProps = {
@@ -51,7 +51,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
51
51
 
52
52
  var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
53
53
  var emitEvent = _ref.emitEvent,
54
- info = _ref.info,
55
54
  styles = _ref.styles,
56
55
  nodeId = _ref.nodeId,
57
56
  retry = _ref.retry,
@@ -137,6 +136,7 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
137
136
  var _soundActions = _slicedToArray(soundActions, 1),
138
137
  playSound = _soundActions[0];
139
138
 
139
+ var rewardedCorrectAnswers = (0, _react.useRef)({});
140
140
  (0, _react.useEffect)(function () {
141
141
  if (finished) {
142
142
  setDisableExit(false);
@@ -226,7 +226,7 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
226
226
  var checkFeedbackScreen = function checkFeedbackScreen() {
227
227
  return decisionsList.find(function (decision) {
228
228
  var feedback = texts[decision.currenTextParagraph].electionTexts[decision.index].feedback;
229
- return feedback.body || feedback.rewards && feedback.rewards.length > 0;
229
+ return feedback.body !== '';
230
230
  });
231
231
  };
232
232
 
@@ -243,48 +243,47 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
243
243
  });
244
244
  };
245
245
 
246
- var endPoints = function endPoints() {
247
- var accumulatedRewards;
248
-
249
- if (info.solution && info.solution.right) {
250
- var rewards = info.solution.right.rewards;
251
-
252
- if (rewards && Array.isArray(rewards) && rewards.length) {
253
- accumulatedRewards = Array.from(rewards.concat(rewardsStack));
254
- } else {
255
- accumulatedRewards = Array.from(rewardsStack);
256
- }
257
- } else {
258
- accumulatedRewards = Array.from(rewardsStack);
259
- }
260
-
261
- var wrongRewards = info.solution.wrong.rewards;
262
- var rightRewards = info.solution.right.rewards;
246
+ var endGame = function endGame() {
263
247
  var AllDecisionsCorrect = checkAllDecisionsAreCorrect(); // if any is wrong count as wrong if there are no individual points assigned
264
248
 
265
- var pointsToEmit = [];
266
-
267
249
  if (failed) {
268
250
  playSound('fail');
269
- pointsToEmit = accumulatedRewards;
270
251
  } else {
271
252
  playSound(AllDecisionsCorrect ? 'score' : 'fail');
272
- pointsToEmit = AllDecisionsCorrect ? rightRewards : wrongRewards;
273
253
  }
274
254
 
275
255
  emitEvent({
276
256
  type: 'addPoints',
277
- payload: pointsToEmit
257
+ complex: true,
258
+ finish: true,
259
+ payload: rewardsStack,
260
+ onFinish: type !== 'view' ? handleLectures : null
278
261
  });
279
262
  };
280
263
 
281
- var endGame = function endGame() {
282
- if (type !== 'view') {
283
- handleLectures();
284
- endPoints();
285
- } else {
286
- endPoints();
287
- }
264
+ var retryPuzzle = function retryPuzzle() {
265
+ setFinished(false);
266
+ setCurrentTextParagraph(0);
267
+ setDecisionsList([]);
268
+ setRewardsStack([]);
269
+
270
+ _setFailed(false);
271
+
272
+ setFeedbackScreen(false);
273
+ setDoneTyping(false);
274
+ setShowFeedback(false);
275
+ setReviewDone(false);
276
+ setTextHolder(_defineProperty({}, "text_".concat(0), _objectSpread(_objectSpread({}, texts[0]), {}, {
277
+ id: "text_".concat(0),
278
+ correct: ''
279
+ })));
280
+ setIsActive(true);
281
+ emitEvent({
282
+ type: 'addPoints',
283
+ complex: true,
284
+ finish: false,
285
+ payload: rewardsStack
286
+ });
288
287
  };
289
288
 
290
289
  var handleFinish = function handleFinish() {
@@ -313,26 +312,19 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
313
312
  if (feedbackScreen && !showFeedback) {
314
313
  setShowFeedback(true);
315
314
  } else if (showFeedback || !feedbackScreen && !showFeedback) {
316
- endGame();
315
+ if (!feedbackScreen && !showFeedback && retry) {
316
+ if (checkAllDecisionsAreCorrect()) {
317
+ endGame();
318
+ } else {
319
+ retryPuzzle();
320
+ }
321
+ } else {
322
+ endGame();
323
+ }
317
324
  }
318
325
  }
319
326
  };
320
327
 
321
- var retryPuzzle = function retryPuzzle() {
322
- setDecisionsList([]);
323
- setCurrentTextParagraph(0);
324
- setDoneTyping(false);
325
- setFinished(false);
326
- setShowFeedback(false);
327
- setReviewDone(false);
328
- setTextHolder({});
329
- setTextHolder(_defineProperty({}, "text_".concat(0), _objectSpread(_objectSpread({}, texts[0]), {}, {
330
- id: "text_".concat(0),
331
- correct: ''
332
- })));
333
- setIsActive(true);
334
- };
335
-
336
328
  var noColor = function noColor() {
337
329
  var correctTexts = texts[currenTextParagraph].electionTexts.filter(function (e) {
338
330
  return e.correct;
@@ -342,10 +334,17 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
342
334
  };
343
335
 
344
336
  var handleSelectedOption = function handleSelectedOption(index) {
345
- var currentRewards = texts[currenTextParagraph].electionTexts[index].feedback.rewards;
337
+ var currentElection = texts[currenTextParagraph].electionTexts[index];
338
+ var currentRewards = currentElection.feedback.rewards;
346
339
 
347
340
  if (currentRewards && currentRewards[0] && currentRewards[0].points) {
348
- setRewardsStack([].concat(_toConsumableArray(rewardsStack), _toConsumableArray(currentRewards)));
341
+ if (!rewardedCorrectAnswers.current["t".concat(currenTextParagraph, "_e").concat(index)]) {
342
+ if (currentElection.correct) {
343
+ rewardedCorrectAnswers.current["t".concat(currenTextParagraph, "_e").concat(index)] = true;
344
+ }
345
+
346
+ setRewardsStack([].concat(_toConsumableArray(rewardsStack), _toConsumableArray(currentRewards)));
347
+ }
349
348
  }
350
349
 
351
350
  var checkColor = function checkColor() {
@@ -353,18 +352,18 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
353
352
  return 'none';
354
353
  }
355
354
 
356
- return texts[currenTextParagraph].electionTexts[index].correct ? 'green' : 'red';
355
+ return currentElection.correct ? 'green' : 'red';
357
356
  };
358
357
 
359
358
  var decision = {
360
359
  currenTextParagraph: currenTextParagraph,
361
- fullText: texts[currenTextParagraph].electionTexts[index].fullText,
360
+ fullText: currentElection.fullText,
362
361
  index: index,
363
362
  isCorrect: checkColor()
364
363
  };
365
364
  setTextHolder(_objectSpread(_objectSpread({}, textHolder), {}, _defineProperty({}, "text_".concat(currenTextParagraph), {
366
365
  type: 'fixed',
367
- fullText: texts[currenTextParagraph].electionTexts[index].fullText,
366
+ fullText: currentElection.fullText,
368
367
  correct: decision.isCorrect
369
368
  })));
370
369
  setDecisionsList([].concat(_toConsumableArray(decisionsList), [decision]));
@@ -459,9 +458,7 @@ var WriterPuzzleComponent = function WriterPuzzleComponent(_ref) {
459
458
  retry: retry,
460
459
  skip: skip,
461
460
  checkCorrect: checkAllDecisionsAreCorrect,
462
- retryAction: function retryAction() {
463
- return retryPuzzle();
464
- },
461
+ retryAction: retryPuzzle,
465
462
  rewardsStack: rewardsStack,
466
463
  nodeId: nodeId,
467
464
  soundActions: soundActions
@@ -56,7 +56,6 @@ exports.messages = messages;
56
56
  var mock = {
57
57
  emitEvent: _mocker.emitEvent,
58
58
  soundActions: _mocker.soundActions,
59
- setShowPoints: _mocker.setShowPoints,
60
59
  texts: [{
61
60
  type: 'fixed',
62
61
  fullText: messages.fullText1
@@ -165,7 +164,6 @@ exports.mock = mock;
165
164
  var mock2 = {
166
165
  emitEvent: _mocker.emitEvent,
167
166
  soundActions: _mocker.soundActions,
168
- setShowPoints: _mocker.setShowPoints,
169
167
  texts: [{
170
168
  type: 'fixed',
171
169
  fullText: messages.fullText1
@@ -351,7 +349,6 @@ exports.mock2 = mock2;
351
349
  var mock3 = {
352
350
  emitEvent: _mocker.emitEvent,
353
351
  soundActions: _mocker.soundActions,
354
- setShowPoints: _mocker.setShowPoints,
355
352
  texts: [{
356
353
  type: 'fixed',
357
354
  fullText: messages.fullText1
@@ -507,7 +504,6 @@ exports.mock3 = mock3;
507
504
  var mock4 = {
508
505
  emitEvent: _mocker.emitEvent,
509
506
  soundActions: _mocker.soundActions,
510
- setShowPoints: _mocker.setShowPoints,
511
507
  texts: [{
512
508
  type: 'fixed',
513
509
  fullText: messages.fullText1
@@ -693,7 +689,6 @@ exports.mock4 = mock4;
693
689
  var mock5 = {
694
690
  emitEvent: _mocker.emitEvent,
695
691
  soundActions: _mocker.soundActions,
696
- setShowPoints: _mocker.setShowPoints,
697
692
  texts: [{
698
693
  type: 'fixed',
699
694
  fullText: messages.fullText11
@@ -780,7 +775,6 @@ exports.mock5 = mock5;
780
775
  var mock6 = {
781
776
  emitEvent: _mocker.emitEvent,
782
777
  soundActions: _mocker.soundActions,
783
- setShowPoints: _mocker.setShowPoints,
784
778
  texts: [{
785
779
  type: 'fixed',
786
780
  fullText: messages.fullText11
@@ -867,7 +861,6 @@ exports.mock6 = mock6;
867
861
  var mock7 = {
868
862
  emitEvent: _mocker.emitEvent,
869
863
  soundActions: _mocker.soundActions,
870
- setShowPoints: _mocker.setShowPoints,
871
864
  texts: [{
872
865
  type: 'fixed',
873
866
  fullText: messages.fullText11
@@ -954,7 +947,6 @@ exports.mock7 = mock7;
954
947
  var mock8 = {
955
948
  emitEvent: _mocker.emitEvent,
956
949
  soundActions: _mocker.soundActions,
957
- setShowPoints: _mocker.setShowPoints,
958
950
  texts: [{
959
951
  type: 'fixed',
960
952
  fullText: messages.fullText11
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "license": "Gamelearn",
4
- "version": "1.3.4",
4
+ "version": "1.3.5-hotfix-login-GAT-4291",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist",