@gamelearn/arcade-components 2.4.4 → 2.5.1

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.
@@ -150,6 +150,7 @@ var CurrentImageClickPuzzle = function CurrentImageClickPuzzle(_ref) {
150
150
  correctClicked.current = 0;
151
151
  }
152
152
 
153
+ setSelected(0);
153
154
  emitEvent({
154
155
  type: 'failPuzzle'
155
156
  });
@@ -37,9 +37,9 @@ var DecisionBody = function DecisionBody(_ref) {
37
37
  var options = _ref.options,
38
38
  question = _ref.question,
39
39
  inherited = _ref.inherited,
40
+ branched = _ref.branched,
40
41
  changeOption = _ref.changeOption,
41
42
  onNext = _ref.onNext,
42
- onBack = _ref.onBack,
43
43
  failed = _ref.failed,
44
44
  showingResults = _ref.showingResults,
45
45
  currentSelectedChoice = _ref.currentSelectedChoice,
@@ -68,7 +68,7 @@ var DecisionBody = function DecisionBody(_ref) {
68
68
  var optionsProps = {
69
69
  inherited: inherited,
70
70
  selectedChoice: selectedChoice,
71
- selectChoice: failed ? choose : noop,
71
+ selectChoice: (!required || branched) && selectedChoice.id !== undefined || required && !failed ? noop : choose,
72
72
  options: options,
73
73
  showingResults: showingResults
74
74
  };
@@ -90,11 +90,11 @@ var DecisionBody = function DecisionBody(_ref) {
90
90
  dir: "auto"
91
91
  }, /*#__PURE__*/_react.default.createElement(_Options.default, optionsProps)), /*#__PURE__*/_react.default.createElement("div", {
92
92
  className: "popup--buttons"
93
- }, !failed ? /*#__PURE__*/_react.default.createElement("button", {
93
+ }, (required ? !failed : selectedChoice.id !== undefined) ? /*#__PURE__*/_react.default.createElement("button", {
94
94
  type: "button",
95
95
  className: "gat--btn gat--btn__primary ".concat(selectedChoice.id !== undefined ? '' : 'disabled'),
96
96
  onClick: function onClick() {
97
- return required && canNext ? onNext(selectedChoice) : onBack(selectedChoice);
97
+ return onNext(selectedChoice);
98
98
  }
99
99
  }, translate('screens.continue')) : null));
100
100
  };
@@ -119,22 +119,6 @@ var DecisionComponent = function DecisionComponent(_ref) {
119
119
  setResultChoice(option);
120
120
  selectView('options');
121
121
  },
122
- onBack: function onBack(choice) {
123
- playSound('click-ui');
124
-
125
- if (failed) {
126
- emitEvent({
127
- type: 'addPoints',
128
- payload: choice.rewards,
129
- finish: false,
130
- complex: true,
131
- onFinish: function onFinish() {
132
- setResultChoice({});
133
- selectView('options');
134
- }
135
- });
136
- }
137
- },
138
122
  onNext: function onNext(choice) {
139
123
  playSound('click-ui');
140
124
 
@@ -186,14 +170,14 @@ var DecisionComponent = function DecisionComponent(_ref) {
186
170
  playSound('fail');
187
171
 
188
172
  if (!branched) {
189
- emitEvent({
190
- type: 'addPoints',
191
- payload: choice.rewards,
192
- finish: false,
193
- complex: true
194
- });
195
-
196
- if (!required) {
173
+ if (inherited || required) {
174
+ emitEvent({
175
+ type: 'addPoints',
176
+ payload: choice.rewards,
177
+ finish: false,
178
+ complex: true
179
+ });
180
+ } else if (!required) {
197
181
  setResultChoice({});
198
182
  selectView('options');
199
183
  }
@@ -38,6 +38,8 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
38
38
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
39
 
40
40
  var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
41
+ var _specificFeedbacks$co2;
42
+
41
43
  var list = _ref.list,
42
44
  index = _ref.index,
43
45
  puzzlesCompiledRef = _ref.puzzlesCompiledRef,
@@ -62,6 +64,8 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
62
64
  setPuzzlesAutoCompleted = _ref.setPuzzlesAutoCompleted,
63
65
  puzzlesAutoCompleted = _ref.puzzlesAutoCompleted,
64
66
  emitOpenPopupCounterInfo = _ref.emitOpenPopupCounterInfo,
67
+ resetValues = _ref.resetValues,
68
+ setResetValues = _ref.setResetValues,
65
69
  pause = _ref.pause;
66
70
 
67
71
  var _soundActions = _slicedToArray(soundActions, 1),
@@ -82,6 +86,14 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
82
86
  hintId: puzzleId
83
87
  }));
84
88
  }, [setInfo, info, puzzleId]);
89
+ (0, _react.useEffect)(function () {
90
+ if (resetValues) {
91
+ correctClicked.current = 0;
92
+ currentSelected.current = 0;
93
+ setSelected(0);
94
+ setResetValues(false);
95
+ }
96
+ }, [resetValues, setResetValues, setSelected]);
85
97
  (0, _react.useEffect)(function () {
86
98
  correctClicked.current = 0;
87
99
  currentSelected.current = 0;
@@ -105,7 +117,12 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
105
117
  }
106
118
 
107
119
  correctClicked.current = props.areas.length;
108
- setSelected(total + correctClicked.current);
120
+
121
+ if (puzzlesAutoCompleted[0] && Object.entries(framesCompleted).length === 0) {
122
+ setSelected(correctClicked.current);
123
+ } else {
124
+ setSelected(total + correctClicked.current);
125
+ }
109
126
  }
110
127
 
111
128
  if (correctClicked.current === props.areas.length) {
@@ -134,7 +151,7 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
134
151
  correctClicked.current = 0;
135
152
  }
136
153
  }
137
- }, [emitEvent, specificFeedbacks, framesCompleted, props.hasClickOrder, props.hasClickOnce, props.areas.length, list.length, selected, setSelected, setRewards, index, setFramesCompleted, setIndex, handleFinish]);
154
+ }, [framesCompleted, specificFeedbacks === null || specificFeedbacks === void 0 ? void 0 : (_specificFeedbacks$co2 = specificFeedbacks.correctFeedbacks) === null || _specificFeedbacks$co2 === void 0 ? void 0 : _specificFeedbacks$co2.length, props.hasClickOnce, props.areas.length, props.hasClickOrder, setRewards, selected, puzzlesAutoCompleted, setSelected, index, list.length, setFramesCompleted, setIndex, handleFinish, emitEvent]);
138
155
  var handleResolve = (0, _react.useCallback)(function () {
139
156
  playSound('score');
140
157
  emitEvent({
@@ -85,6 +85,11 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
85
85
  firstTryForFrame = _useState12[0],
86
86
  setFirstTryForFrame = _useState12[1];
87
87
 
88
+ var _useState13 = (0, _react.useState)(false),
89
+ _useState14 = _slicedToArray(_useState13, 2),
90
+ resetValues = _useState14[0],
91
+ setResetValues = _useState14[1];
92
+
88
93
  var totalCorrects = list.reduce(function (acc, current) {
89
94
  return acc + current.areas.length;
90
95
  }, 0);
@@ -118,6 +123,7 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
118
123
  setIndex(0);
119
124
  setFramesCompleted({});
120
125
  setHideTooltipRef(true);
126
+ setResetValues(true);
121
127
  }, []);
122
128
 
123
129
  var translateFromParent = function translateFromParent(id) {
@@ -160,6 +166,8 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
160
166
  emitEvent: emitEvent,
161
167
  nodeId: nodeId,
162
168
  emitResetPuzzle: resetPuzzle,
169
+ resetValues: resetValues,
170
+ setResetValues: setResetValues,
163
171
  setPuzzlesAutoCompleted: setPuzzlesAutoCompleted,
164
172
  puzzlesAutoCompleted: puzzlesAutoCompleted,
165
173
  emitOpenPopupCounterInfo: onInitPuzzle,
@@ -319,14 +319,16 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
319
319
  rewards = specific.rewards;
320
320
  }
321
321
 
322
- if (hasClickOrder && notInOrder) {
323
- var _info$orderFeedback;
324
-
322
+ if (hasClickOrder) {
325
323
  setClickedZones([]);
326
324
 
327
- if (info !== null && info !== void 0 && (_info$orderFeedback = info.orderFeedback) !== null && _info$orderFeedback !== void 0 && _info$orderFeedback.desc) {
328
- feedback = info.orderFeedback.desc;
329
- rewards = info.orderFeedback.rewards;
325
+ if (notInOrder) {
326
+ var _info$orderFeedback;
327
+
328
+ if (info !== null && info !== void 0 && (_info$orderFeedback = info.orderFeedback) !== null && _info$orderFeedback !== void 0 && _info$orderFeedback.desc) {
329
+ feedback = info.orderFeedback.desc;
330
+ rewards = info.orderFeedback.rewards;
331
+ }
330
332
  }
331
333
  }
332
334
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "author": "Gamelearn",
4
4
  "license": "unlicense",
5
- "version": "2.4.4",
5
+ "version": "2.5.1",
6
6
  "main": "dist/index.js",
7
7
  "files": [
8
8
  "dist",