@gamelearn/arcade-components 1.11.7 → 1.11.8

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.
@@ -60,7 +60,8 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
60
60
  emitResetPuzzle = _ref.emitResetPuzzle,
61
61
  firstTryForFrame = _ref.firstTryForFrame,
62
62
  setPuzzlesAutoCompleted = _ref.setPuzzlesAutoCompleted,
63
- puzzlesAutoCompleted = _ref.puzzlesAutoCompleted;
63
+ puzzlesAutoCompleted = _ref.puzzlesAutoCompleted,
64
+ emitOpenPopupCounterInfo = _ref.emitOpenPopupCounterInfo;
64
65
 
65
66
  var _soundActions = _slicedToArray(soundActions, 1),
66
67
  playSound = _soundActions[0];
@@ -173,7 +174,8 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
173
174
  slideNumber: index,
174
175
  emitResetPuzzle: handleResetPuzzle,
175
176
  firstTryForFrame: firstTryForFrame,
176
- puzzlesAutoCompleted: puzzlesAutoCompleted
177
+ puzzlesAutoCompleted: puzzlesAutoCompleted,
178
+ emitOpenPopupCounterInfo: emitOpenPopupCounterInfo
177
179
  }));
178
180
  };
179
181
 
@@ -124,7 +124,13 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
124
124
  };
125
125
 
126
126
  var onClickCounter = function onClickCounter() {
127
- setHideTooltipRef(false);
127
+ setHideTooltipRef(true);
128
+ };
129
+
130
+ var onInitPuzzle = function onInitPuzzle() {
131
+ if (index === 0) {
132
+ setHideTooltipRef(false);
133
+ }
128
134
  };
129
135
 
130
136
  var currentPuzzleProps = {
@@ -151,7 +157,8 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
151
157
  nodeId: nodeId,
152
158
  emitResetPuzzle: resetPuzzle,
153
159
  setPuzzlesAutoCompleted: setPuzzlesAutoCompleted,
154
- puzzlesAutoCompleted: puzzlesAutoCompleted
160
+ puzzlesAutoCompleted: puzzlesAutoCompleted,
161
+ emitOpenPopupCounterInfo: onInitPuzzle
155
162
  };
156
163
  return /*#__PURE__*/_react.default.createElement("div", {
157
164
  className: "puzzle-frame"
@@ -172,7 +179,7 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
172
179
  }, /*#__PURE__*/_react.default.createElement(_Counter.default, {
173
180
  current: selected,
174
181
  total: totalCorrects,
175
- tooltip: hideTooltip,
182
+ tooltip: !hideTooltip,
176
183
  emitEvent: emitEvent
177
184
  })) : null));
178
185
  };
@@ -84,7 +84,8 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
84
84
  slideNumber = props.slideNumber,
85
85
  emitResetPuzzle = props.emitResetPuzzle,
86
86
  firstTryForFrame = props.firstTryForFrame,
87
- puzzlesAutoCompleted = props.puzzlesAutoCompleted;
87
+ puzzlesAutoCompleted = props.puzzlesAutoCompleted,
88
+ emitOpenPopupCounterInfo = props.emitOpenPopupCounterInfo;
88
89
 
89
90
  var _useState = (0, _react.useState)([]),
90
91
  _useState2 = _slicedToArray(_useState, 2),
@@ -109,8 +110,9 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
109
110
  }),
110
111
  _useState8 = _slicedToArray(_useState7, 2),
111
112
  feedbackData = _useState8[0],
112
- setFeedbackData = _useState8[1]; // timer stuffs
113
+ setFeedbackData = _useState8[1];
113
114
 
115
+ var popupCounterVisible = (0, _react.useRef)(false); // timer stuffs
114
116
 
115
117
  var _useState9 = (0, _react.useState)(true),
116
118
  _useState10 = _slicedToArray(_useState9, 2),
@@ -174,6 +176,34 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
174
176
  (0, _react.useEffect)(function () {
175
177
  setCompleted(defaultCompleted);
176
178
  }, [defaultCompleted]);
179
+ var clearListenerForActualDate = (0, _react.useCallback)(function () {
180
+ clearInterval(intervalForActualDate.current);
181
+ }, []);
182
+ var pauseTheCounter = (0, _react.useCallback)(function () {
183
+ pauseDate.current = Date.now();
184
+ remainingTime.current = finalDate.current - pauseDate.current;
185
+ clearListenerForActualDate();
186
+ }, [clearListenerForActualDate]);
187
+ var listenerForActualDate = (0, _react.useCallback)(function () {
188
+ intervalForActualDate.current = setInterval(function () {
189
+ actualDate.current = Date.now(); // show timerFeedback when finish the time
190
+
191
+ if (actualDate.current > finalDate.current) {
192
+ setFeedbackData(function () {
193
+ var _info$timerFeedback, _info$timerFeedback2;
194
+
195
+ return {
196
+ show: true,
197
+ success: false,
198
+ text: info !== null && info !== void 0 && (_info$timerFeedback = info.timerFeedback) !== null && _info$timerFeedback !== void 0 && _info$timerFeedback.desc ? info.timerFeedback.desc : '',
199
+ rewards: info === null || info === void 0 ? void 0 : (_info$timerFeedback2 = info.timerFeedback) === null || _info$timerFeedback2 === void 0 ? void 0 : _info$timerFeedback2.rewards
200
+ };
201
+ });
202
+ setTimeExpired(true);
203
+ clearListenerForActualDate();
204
+ }
205
+ }, 0);
206
+ }, [clearListenerForActualDate, info === null || info === void 0 ? void 0 : (_info$timerFeedback3 = info.timerFeedback) === null || _info$timerFeedback3 === void 0 ? void 0 : _info$timerFeedback3.desc, info === null || info === void 0 ? void 0 : (_info$timerFeedback4 = info.timerFeedback) === null || _info$timerFeedback4 === void 0 ? void 0 : _info$timerFeedback4.rewards]);
177
207
  (0, _react.useEffect)(function () {
178
208
  if ((areas.length === clickedZones.length || hasClickOnce && clickedZones.length > 0) && !completed) {
179
209
  var _specificFeedbacks$co;
@@ -285,11 +315,6 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
285
315
  }
286
316
  };
287
317
 
288
- var pauseTheCounter = (0, _react.useCallback)(function () {
289
- pauseDate.current = Date.now();
290
- remainingTime.current = finalDate.current - pauseDate.current;
291
- clearListenerForActualDate();
292
- }, [clearListenerForActualDate]);
293
318
  var handleOnClose = (0, _react.useCallback)(function () {
294
319
  whenCloseFeedbackDate.current = Date.now();
295
320
  var newFinalDate = whenCloseFeedbackDate.current + remainingTime.current;
@@ -367,45 +392,26 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
367
392
  }
368
393
  };
369
394
 
370
- var clearListenerForActualDate = (0, _react.useCallback)(function () {
371
- clearInterval(intervalForActualDate.current);
372
- }, []);
373
- var listenerForActualDate = (0, _react.useCallback)(function () {
374
- intervalForActualDate.current = setInterval(function () {
375
- actualDate.current = Date.now(); // show timerFeedback when finish the time
376
-
377
- if (actualDate.current > finalDate.current) {
378
- setFeedbackData(function () {
379
- var _info$timerFeedback, _info$timerFeedback2;
380
-
381
- return {
382
- show: true,
383
- success: false,
384
- text: info !== null && info !== void 0 && (_info$timerFeedback = info.timerFeedback) !== null && _info$timerFeedback !== void 0 && _info$timerFeedback.desc ? info.timerFeedback.desc : '',
385
- rewards: info === null || info === void 0 ? void 0 : (_info$timerFeedback2 = info.timerFeedback) === null || _info$timerFeedback2 === void 0 ? void 0 : _info$timerFeedback2.rewards
386
- };
387
- });
388
- setTimeExpired(true);
389
- clearListenerForActualDate();
390
- }
391
- }, 0);
392
- }, [clearListenerForActualDate, info === null || info === void 0 ? void 0 : (_info$timerFeedback3 = info.timerFeedback) === null || _info$timerFeedback3 === void 0 ? void 0 : _info$timerFeedback3.desc, info === null || info === void 0 ? void 0 : (_info$timerFeedback4 = info.timerFeedback) === null || _info$timerFeedback4 === void 0 ? void 0 : _info$timerFeedback4.rewards]);
393
395
  var createStartAndEndDate = (0, _react.useCallback)(function () {
396
+ if (!popupCounterVisible.current && firstTryForFrame) {
397
+ emitOpenPopupCounterInfo();
398
+ }
399
+
394
400
  setDialogForTimer(false);
395
401
  startDate.current = Date.now();
396
402
  finalDate.current = startDate.current + timer * 1000;
397
403
  listenerForActualDate();
398
- }, [listenerForActualDate, timer]);
404
+ }, [emitOpenPopupCounterInfo, firstTryForFrame, listenerForActualDate, timer]);
399
405
  (0, _react.useEffect)(function () {
400
406
  // start automatically the time
401
407
  if (timer && slideNumber > 0) {
402
- if (puzzlesAutoCompleted[slideNumber - 1]) {
408
+ if (firstTryForFrame && Object.keys(puzzlesAutoCompleted).length && puzzlesAutoCompleted[slideNumber - 1]) {
403
409
  setDialogForTimer(true);
404
410
  } else {
405
411
  createStartAndEndDate();
406
412
  }
407
413
  }
408
- }, [createStartAndEndDate, puzzlesAutoCompleted, slideNumber, timer]);
414
+ }, [createStartAndEndDate, defaultCompleted, firstTryForFrame, puzzlesAutoCompleted, slideNumber, timer]);
409
415
  return /*#__PURE__*/_react.default.createElement("div", {
410
416
  className: className
411
417
  }, feedbackData.show ? /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "author": "Gamelearn",
4
4
  "license": "unlicense",
5
- "version": "1.11.7",
5
+ "version": "1.11.8",
6
6
  "main": "dist/index.js",
7
7
  "files": [
8
8
  "dist",