@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.
- package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +4 -2
- package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +10 -3
- package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +39 -33
- package/package.json +1 -1
|
@@ -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
|
|
package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js
CHANGED
|
@@ -124,7 +124,13 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
|
|
|
124
124
|
};
|
|
125
125
|
|
|
126
126
|
var onClickCounter = function onClickCounter() {
|
|
127
|
-
setHideTooltipRef(
|
|
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
|
};
|
package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js
CHANGED
|
@@ -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];
|
|
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, {
|