@gamelearn/arcade-components 1.11.6 → 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 +42 -32
- 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
|
@@ -59,6 +59,8 @@ var ImageReview = function ImageReview() {
|
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
62
|
+
var _info$timerFeedback3, _info$timerFeedback4;
|
|
63
|
+
|
|
62
64
|
// Common config
|
|
63
65
|
var soundActions = props.soundActions,
|
|
64
66
|
emitEvent = props.emitEvent,
|
|
@@ -82,7 +84,8 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
82
84
|
slideNumber = props.slideNumber,
|
|
83
85
|
emitResetPuzzle = props.emitResetPuzzle,
|
|
84
86
|
firstTryForFrame = props.firstTryForFrame,
|
|
85
|
-
puzzlesAutoCompleted = props.puzzlesAutoCompleted
|
|
87
|
+
puzzlesAutoCompleted = props.puzzlesAutoCompleted,
|
|
88
|
+
emitOpenPopupCounterInfo = props.emitOpenPopupCounterInfo;
|
|
86
89
|
|
|
87
90
|
var _useState = (0, _react.useState)([]),
|
|
88
91
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -107,8 +110,9 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
107
110
|
}),
|
|
108
111
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
109
112
|
feedbackData = _useState8[0],
|
|
110
|
-
setFeedbackData = _useState8[1];
|
|
113
|
+
setFeedbackData = _useState8[1];
|
|
111
114
|
|
|
115
|
+
var popupCounterVisible = (0, _react.useRef)(false); // timer stuffs
|
|
112
116
|
|
|
113
117
|
var _useState9 = (0, _react.useState)(true),
|
|
114
118
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
@@ -172,6 +176,34 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
172
176
|
(0, _react.useEffect)(function () {
|
|
173
177
|
setCompleted(defaultCompleted);
|
|
174
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]);
|
|
175
207
|
(0, _react.useEffect)(function () {
|
|
176
208
|
if ((areas.length === clickedZones.length || hasClickOnce && clickedZones.length > 0) && !completed) {
|
|
177
209
|
var _specificFeedbacks$co;
|
|
@@ -283,11 +315,6 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
283
315
|
}
|
|
284
316
|
};
|
|
285
317
|
|
|
286
|
-
var pauseTheCounter = (0, _react.useCallback)(function () {
|
|
287
|
-
pauseDate.current = Date.now();
|
|
288
|
-
remainingTime.current = finalDate.current - pauseDate.current;
|
|
289
|
-
clearListenerForActualDate();
|
|
290
|
-
}, [clearListenerForActualDate]);
|
|
291
318
|
var handleOnClose = (0, _react.useCallback)(function () {
|
|
292
319
|
whenCloseFeedbackDate.current = Date.now();
|
|
293
320
|
var newFinalDate = whenCloseFeedbackDate.current + remainingTime.current;
|
|
@@ -365,43 +392,26 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
365
392
|
}
|
|
366
393
|
};
|
|
367
394
|
|
|
368
|
-
var clearListenerForActualDate = (0, _react.useCallback)(function () {
|
|
369
|
-
clearInterval(intervalForActualDate.current);
|
|
370
|
-
}, []);
|
|
371
|
-
var listenerForActualDate = (0, _react.useCallback)(function () {
|
|
372
|
-
intervalForActualDate.current = setInterval(function () {
|
|
373
|
-
actualDate.current = Date.now(); // show timerFeedback when finish the time
|
|
374
|
-
|
|
375
|
-
if (actualDate.current > finalDate.current) {
|
|
376
|
-
setFeedbackData(function () {
|
|
377
|
-
return {
|
|
378
|
-
show: true,
|
|
379
|
-
success: false,
|
|
380
|
-
text: info.timerFeedback.desc ? info.timerFeedback.desc : '',
|
|
381
|
-
rewards: info.timerFeedback.rewards
|
|
382
|
-
};
|
|
383
|
-
});
|
|
384
|
-
setTimeExpired(true);
|
|
385
|
-
clearListenerForActualDate();
|
|
386
|
-
}
|
|
387
|
-
}, 0);
|
|
388
|
-
}, [clearListenerForActualDate, info.timerFeedback.desc, info.timerFeedback.rewards]);
|
|
389
395
|
var createStartAndEndDate = (0, _react.useCallback)(function () {
|
|
396
|
+
if (!popupCounterVisible.current && firstTryForFrame) {
|
|
397
|
+
emitOpenPopupCounterInfo();
|
|
398
|
+
}
|
|
399
|
+
|
|
390
400
|
setDialogForTimer(false);
|
|
391
401
|
startDate.current = Date.now();
|
|
392
402
|
finalDate.current = startDate.current + timer * 1000;
|
|
393
403
|
listenerForActualDate();
|
|
394
|
-
}, [listenerForActualDate, timer]);
|
|
404
|
+
}, [emitOpenPopupCounterInfo, firstTryForFrame, listenerForActualDate, timer]);
|
|
395
405
|
(0, _react.useEffect)(function () {
|
|
396
406
|
// start automatically the time
|
|
397
|
-
if (slideNumber > 0) {
|
|
398
|
-
if (puzzlesAutoCompleted[slideNumber - 1]) {
|
|
407
|
+
if (timer && slideNumber > 0) {
|
|
408
|
+
if (firstTryForFrame && Object.keys(puzzlesAutoCompleted).length && puzzlesAutoCompleted[slideNumber - 1]) {
|
|
399
409
|
setDialogForTimer(true);
|
|
400
410
|
} else {
|
|
401
411
|
createStartAndEndDate();
|
|
402
412
|
}
|
|
403
413
|
}
|
|
404
|
-
}, [createStartAndEndDate, puzzlesAutoCompleted, slideNumber]);
|
|
414
|
+
}, [createStartAndEndDate, defaultCompleted, firstTryForFrame, puzzlesAutoCompleted, slideNumber, timer]);
|
|
405
415
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
406
416
|
className: className
|
|
407
417
|
}, feedbackData.show ? /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
|