@gamelearn/arcade-components 0.16.4 → 0.17.0
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/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +56 -21
- package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +192 -3
- package/dist/components/chained-image-click-puzzle-component/mocks/mockForStory.js +2 -2
- package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +1 -1
- package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +65 -3
- package/dist/components/drag-item-puzzle-component/components/DragItemPuzzleComponent.js +56 -34
- package/dist/components/drag-item-puzzle-component/components/Messages.js +3 -37
- package/dist/components/feedback-component/components/FeedbackComponent.js +46 -14
- package/dist/components/feedback-component/mocks/mockForStory.js +25 -5
- package/dist/components/frame-click-puzzle-component/components/CurrentFramePuzzle.js +4 -3
- package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +10 -1
- package/dist/components/frame-click-puzzle-component/mocks/mockForStory.js +2 -2
- package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +7 -1
- package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +71 -18
- package/dist/components/hanged-puzzle-component/mocks/mockForStory.js +7 -1
- package/dist/components/image-click-puzzle-component/mocks/mockForStory.js +7 -1
- package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js +51 -64
- package/dist/components/image-click-wrapper-component/mocks/mockForStory.js +8 -2
- package/dist/components/image-component/mocks/mockForStory.js +7 -1
- package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +10 -2
- package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +7 -1
- package/dist/components/konva-components/KonvaMapper.js +4 -4
- package/dist/components/terminal-puzzle-component/components/FilesGroup/index.js +6 -6
- package/dist/components/terminal-puzzle-component/components/Visor/index.js +5 -28
- package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +7 -2
- package/package.json +3 -3
|
@@ -13,6 +13,18 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
15
|
|
|
16
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
17
|
+
|
|
18
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
19
|
+
|
|
20
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
|
+
|
|
22
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
23
|
+
|
|
24
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
25
|
+
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
27
|
+
|
|
16
28
|
var FeedbackComponent = function FeedbackComponent(_ref) {
|
|
17
29
|
var text = _ref.text,
|
|
18
30
|
success = _ref.success,
|
|
@@ -20,34 +32,54 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
|
|
|
20
32
|
additionalStyle = _ref.additionalStyle,
|
|
21
33
|
functionOnClose = _ref.functionOnClose,
|
|
22
34
|
secondText = _ref.secondText,
|
|
23
|
-
|
|
24
|
-
|
|
35
|
+
translate = _ref.translate,
|
|
36
|
+
shortText = _ref.shortText;
|
|
37
|
+
|
|
38
|
+
var _useState = (0, _react.useState)(),
|
|
39
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
40
|
+
explain = _useState2[0],
|
|
41
|
+
setExplain = _useState2[1];
|
|
42
|
+
|
|
25
43
|
(0, _react.useEffect)(function () {
|
|
44
|
+
var timerForShowExplain;
|
|
45
|
+
|
|
26
46
|
if (text && playSound) {
|
|
27
47
|
playSound(success ? 'score' : 'fail');
|
|
28
48
|
}
|
|
29
|
-
}, [playSound, success, text]);
|
|
30
49
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
50
|
+
if (text && !shortText) {
|
|
51
|
+
timerForShowExplain = setTimeout(function () {
|
|
52
|
+
setExplain(true);
|
|
53
|
+
}, 1000);
|
|
54
|
+
}
|
|
34
55
|
|
|
35
|
-
|
|
36
|
-
|
|
56
|
+
return function () {
|
|
57
|
+
if (timerForShowExplain) clearTimeout(timerForShowExplain);
|
|
58
|
+
};
|
|
59
|
+
}, [playSound, success, shortText, text]);
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
61
|
+
className: "feedback-layer ".concat(explain ? 'feedback-layer--withexplain' : '')
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
63
|
+
className: "feedback-layer__header ".concat(additionalStyle ? additionalStyle : '', " ").concat(success ? 'success' : 'failed')
|
|
37
64
|
}, secondText && /*#__PURE__*/_react.default.createElement("span", {
|
|
38
65
|
className: "puzzle--terminal__visor--file"
|
|
39
66
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
40
|
-
className: "puzzle--terminal__icon ".concat(additionalStyle)
|
|
67
|
+
className: "puzzle--terminal__icon ".concat(additionalStyle ? additionalStyle : '')
|
|
41
68
|
}), /*#__PURE__*/_react.default.createElement("span", null, secondText)), /*#__PURE__*/_react.default.createElement("span", {
|
|
42
|
-
className: "
|
|
43
|
-
}, text), functionOnClose && /*#__PURE__*/_react.default.createElement("
|
|
69
|
+
className: "feedback-layer__maintitle"
|
|
70
|
+
}, !shortText ? translate("tooltip.".concat(success ? 'correct' : 'incorrect')) : text), text && functionOnClose && explain && /*#__PURE__*/_react.default.createElement("button", {
|
|
71
|
+
type: "button",
|
|
72
|
+
className: "feedback-layer__closeX",
|
|
44
73
|
onClick: function onClick() {
|
|
45
74
|
return functionOnClose();
|
|
46
|
-
}
|
|
47
|
-
className: "puzzle--terminal__folder--close"
|
|
75
|
+
}
|
|
48
76
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
49
77
|
className: "icon-close"
|
|
50
|
-
})))
|
|
78
|
+
}))), !shortText && text !== '' && /*#__PURE__*/_react.default.createElement("div", {
|
|
79
|
+
className: "feedback-layer__explainwrap"
|
|
80
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
81
|
+
className: "feedback-layer__explain"
|
|
82
|
+
}, /*#__PURE__*/_react.default.createElement("div", null, text)))));
|
|
51
83
|
};
|
|
52
84
|
|
|
53
85
|
FeedbackComponent.defaultProps = {
|
|
@@ -3,18 +3,38 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.mockProps2 = exports.mockProps = void 0;
|
|
6
|
+
exports.mockProps4 = exports.mockProps3 = exports.mockProps2 = exports.mockProps = void 0;
|
|
7
7
|
var soundActions = [function (sound) {
|
|
8
8
|
console.log('PlaySound called :', sound);
|
|
9
9
|
}, function () {}];
|
|
10
|
+
|
|
11
|
+
var translate = function translate(payload) {
|
|
12
|
+
return payload;
|
|
13
|
+
};
|
|
14
|
+
|
|
10
15
|
var mockProps = {
|
|
16
|
+
functionOnClose: {},
|
|
11
17
|
soundActions: soundActions,
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
success: true,
|
|
19
|
+
translate: translate,
|
|
20
|
+
text: '500A while back I needed to count the amount of letters that a piece of text in an email template had (to avoid passing any character limits)asd asdf sdf A while back I needed to count the amount of letters that a piece of text in an email template had (to avoid passing any character limits)asd asdf sdf A while back I needed to count the amount of letters that a piece of text in an email template had (to avoid passing any character limits)asd asdf sdf A while back I needed to count thea sf as'
|
|
14
21
|
};
|
|
15
22
|
exports.mockProps = mockProps;
|
|
16
23
|
var mockProps2 = {
|
|
24
|
+
functionOnClose: {},
|
|
25
|
+
soundActions: soundActions,
|
|
26
|
+
translate: translate,
|
|
27
|
+
text: '500A while back I needed to count the amount of letters that a piece of text in an email template had (to avoid passing any character limits)asd asdf sdf A while back I needed to count the amount of letters that a piece of text in an email template had (to avoid passing any character limits)asd asdf sdf A while back I needed to count the amount of letters that a piece of text in an email template had (to avoid passing any character limits)asd asdf sdf A while back I needed to count thea sf as'
|
|
28
|
+
};
|
|
29
|
+
exports.mockProps2 = mockProps2;
|
|
30
|
+
var mockProps3 = {
|
|
31
|
+
success: true,
|
|
32
|
+
soundActions: soundActions,
|
|
33
|
+
translate: translate
|
|
34
|
+
};
|
|
35
|
+
exports.mockProps3 = mockProps3;
|
|
36
|
+
var mockProps4 = {
|
|
17
37
|
soundActions: soundActions,
|
|
18
|
-
|
|
38
|
+
translate: translate
|
|
19
39
|
};
|
|
20
|
-
exports.
|
|
40
|
+
exports.mockProps4 = mockProps4;
|
|
@@ -52,7 +52,8 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
|
|
|
52
52
|
soundActions = _ref.soundActions,
|
|
53
53
|
setResolveAction = _ref.setResolveAction,
|
|
54
54
|
disableExit = _ref.disableExit,
|
|
55
|
-
description = _ref.description
|
|
55
|
+
description = _ref.description,
|
|
56
|
+
translateFromParent = _ref.translateFromParent;
|
|
56
57
|
var props = list[index];
|
|
57
58
|
var info = props.info;
|
|
58
59
|
info.description = description;
|
|
@@ -110,10 +111,10 @@ var CurrentFramePuzzle = function CurrentFramePuzzle(_ref) {
|
|
|
110
111
|
hideContinue: true,
|
|
111
112
|
disableInfo: puzzlesCompiledRef.current > 1,
|
|
112
113
|
defaultCompleted: framesCompleted[index] || !!loadPuzzleStatus,
|
|
113
|
-
isLast: Object.values(framesCompleted).length - 1 === list.length - 1,
|
|
114
114
|
soundActions: soundActions,
|
|
115
115
|
setResolveAction: setResolveAction,
|
|
116
|
-
disableExit: disableExit
|
|
116
|
+
disableExit: disableExit,
|
|
117
|
+
translateFromParent: translateFromParent
|
|
117
118
|
}));
|
|
118
119
|
};
|
|
119
120
|
|
package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js
CHANGED
|
@@ -111,6 +111,14 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
|
|
|
111
111
|
}
|
|
112
112
|
});
|
|
113
113
|
}, [accRewards, emitEvent, puzzleId]);
|
|
114
|
+
|
|
115
|
+
var translateFromParent = function translateFromParent(id) {
|
|
116
|
+
return emitEvent({
|
|
117
|
+
type: 'translate',
|
|
118
|
+
payload: id
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
|
|
114
122
|
var currentPuzzleProps = {
|
|
115
123
|
list: list,
|
|
116
124
|
description: description,
|
|
@@ -126,7 +134,8 @@ var FrameImageClickComponent = function FrameImageClickComponent(_ref) {
|
|
|
126
134
|
loadPuzzleStatus: loadPuzzleStatus,
|
|
127
135
|
soundActions: soundActions,
|
|
128
136
|
setResolveAction: setResolveAction,
|
|
129
|
-
disableExit: disableExit
|
|
137
|
+
disableExit: disableExit,
|
|
138
|
+
translateFromParent: translateFromParent
|
|
130
139
|
};
|
|
131
140
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
132
141
|
className: "puzzle-frame"
|
|
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent() {
|
|
9
|
-
console.log('Emit event called');
|
|
8
|
+
var emitEvent = function emitEvent(type) {
|
|
9
|
+
console.log('Emit event called', type);
|
|
10
10
|
};
|
|
11
11
|
|
|
12
12
|
var soundActions = [function (sound) {
|
|
@@ -5,8 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mockProps3 = exports.mockProps2 = exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent() {
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
9
11
|
console.log('Emit event called');
|
|
12
|
+
|
|
13
|
+
if (type === 'translate') {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
var mockProps = {
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _feedbackComponent = _interopRequireDefault(require("../../feedback-component"));
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
13
|
|
|
12
14
|
var _utils = require("../utils");
|
|
@@ -15,6 +17,8 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
|
|
|
15
17
|
|
|
16
18
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
19
|
|
|
20
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
18
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
19
23
|
|
|
20
24
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -127,10 +131,28 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
127
131
|
disabled = _useState12[0],
|
|
128
132
|
setDisable = _useState12[1];
|
|
129
133
|
|
|
134
|
+
var _useState13 = (0, _react.useState)(false),
|
|
135
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
136
|
+
feedbackResult = _useState14[0],
|
|
137
|
+
setFeedbackResult = _useState14[1];
|
|
138
|
+
|
|
139
|
+
var _useState15 = (0, _react.useState)([]),
|
|
140
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
141
|
+
accRewards = _useState16[0],
|
|
142
|
+
setRewards = _useState16[1];
|
|
143
|
+
|
|
130
144
|
var translatedAnswer = answer.toUpperCase().split('');
|
|
131
145
|
var answerPanel = translatedAnswer.filter(function (char) {
|
|
132
146
|
return (0, _utils.restrictCharacters)(char, 'and');
|
|
133
147
|
});
|
|
148
|
+
|
|
149
|
+
var translate = function translate(id) {
|
|
150
|
+
return emitEvent({
|
|
151
|
+
type: 'translate',
|
|
152
|
+
payload: id
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
|
|
134
156
|
var resetPool = (0, _react.useCallback)(function () {
|
|
135
157
|
var newPool = answerPanel.map(function (char) {
|
|
136
158
|
return {
|
|
@@ -292,6 +314,25 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
292
314
|
}
|
|
293
315
|
};
|
|
294
316
|
|
|
317
|
+
var handleClose = function handleClose() {
|
|
318
|
+
disableExit(true);
|
|
319
|
+
var rewardsData = [].concat(_toConsumableArray(accRewards), _toConsumableArray(info.resolve.rewards));
|
|
320
|
+
playSound('score');
|
|
321
|
+
emitEvent({
|
|
322
|
+
type: 'addPoints',
|
|
323
|
+
payload: _toConsumableArray(rewardsData)
|
|
324
|
+
});
|
|
325
|
+
};
|
|
326
|
+
|
|
327
|
+
var handleFail = function handleFail() {
|
|
328
|
+
playSound('fail');
|
|
329
|
+
setRewards([].concat(_toConsumableArray(accRewards), _toConsumableArray(info.solution.wrong.rewards)));
|
|
330
|
+
setFailed(true);
|
|
331
|
+
setResolveClass('');
|
|
332
|
+
setDisable(false);
|
|
333
|
+
setFeedbackResult(false);
|
|
334
|
+
};
|
|
335
|
+
|
|
295
336
|
var resolvePuzzle = function resolvePuzzle(newAnswer, newPool) {
|
|
296
337
|
var restoredCharacters = [];
|
|
297
338
|
setDisable(true);
|
|
@@ -313,26 +354,32 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
313
354
|
}).length;
|
|
314
355
|
|
|
315
356
|
if (correctLetters === translatedAnswer.length) {
|
|
316
|
-
var rewards = info.solution.right.rewards;
|
|
317
|
-
var wrongRewards = info.solution.wrong.rewards;
|
|
318
|
-
disableExit(false);
|
|
319
|
-
playSound('score');
|
|
320
357
|
setResolveClass('success');
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
});
|
|
326
|
-
}
|
|
358
|
+
|
|
359
|
+
if (info.solution.right.desc === '') {
|
|
360
|
+
setTimeout(function () {
|
|
361
|
+
handleClose();
|
|
362
|
+
}, 2000);
|
|
363
|
+
}
|
|
327
364
|
} else {
|
|
328
|
-
playSound('fail');
|
|
329
365
|
setResolveClass('failed');
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
366
|
+
restore(evaluatedAnswer, newPool, restoredCharacters);
|
|
367
|
+
|
|
368
|
+
if (info.solution.wrong.desc === '') {
|
|
369
|
+
setTimeout(function () {
|
|
370
|
+
handleFail();
|
|
371
|
+
}, 2000);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
setFeedbackResult(true);
|
|
376
|
+
};
|
|
377
|
+
|
|
378
|
+
var handleFeedbackFuncionOnClose = function handleFeedbackFuncionOnClose() {
|
|
379
|
+
if (resolvedClass === 'success') {
|
|
380
|
+
handleClose();
|
|
381
|
+
} else {
|
|
382
|
+
handleFail();
|
|
336
383
|
}
|
|
337
384
|
};
|
|
338
385
|
|
|
@@ -347,7 +394,13 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
347
394
|
style: {
|
|
348
395
|
backgroundImage: "url(\"".concat(imgURL, "\")")
|
|
349
396
|
}
|
|
350
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
397
|
+
}, resolvedClass ? /*#__PURE__*/_react.default.createElement(_feedbackComponent.default, {
|
|
398
|
+
playSound: playSound,
|
|
399
|
+
text: info.solution[resolvedClass === 'success' ? 'right' : 'wrong'].desc,
|
|
400
|
+
success: resolvedClass === 'success',
|
|
401
|
+
translate: translate,
|
|
402
|
+
functionOnClose: handleFeedbackFuncionOnClose
|
|
403
|
+
}) : null, /*#__PURE__*/_react.default.createElement("div", {
|
|
351
404
|
className: "puzzle--hanged__content"
|
|
352
405
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
353
406
|
className: "puzzle--hanged__controls"
|
|
@@ -5,8 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent() {
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
9
11
|
console.log('Emit event called');
|
|
12
|
+
|
|
13
|
+
if (type === "translate") {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
var soundActions = [function (sound) {
|
|
@@ -5,8 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mockProps4 = exports.mockProps3 = exports.mockProps2 = exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent() {
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
9
11
|
console.log('Emit event called');
|
|
12
|
+
|
|
13
|
+
if (type === 'translate') {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
var soundActions = [function (sound) {
|
package/dist/components/image-click-wrapper-component/components/ImageClickWrapperComponent.js
CHANGED
|
@@ -47,34 +47,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
47
47
|
|
|
48
48
|
var defaultImg = 'https://min.gamelearn.io/css-resources/gamelearn/resources/puzzle-login-low.png';
|
|
49
49
|
|
|
50
|
-
var CompletedMessage = function CompletedMessage(_ref) {
|
|
51
|
-
var text = _ref.text,
|
|
52
|
-
playSound = _ref.playSound;
|
|
53
|
-
return /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
|
|
54
|
-
playSound: playSound,
|
|
55
|
-
text: text,
|
|
56
|
-
success: true
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
var FailedMessage = function FailedMessage(_ref2) {
|
|
61
|
-
var onClose = _ref2.onClose,
|
|
62
|
-
text = _ref2.text,
|
|
63
|
-
playSound = _ref2.playSound;
|
|
64
|
-
(0, _react.useEffect)(function () {
|
|
65
|
-
var timeout = setTimeout(function () {
|
|
66
|
-
onClose();
|
|
67
|
-
}, 2000);
|
|
68
|
-
return function () {
|
|
69
|
-
clearTimeout(timeout);
|
|
70
|
-
};
|
|
71
|
-
}, [onClose]);
|
|
72
|
-
return /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
|
|
73
|
-
text: text,
|
|
74
|
-
playSound: playSound
|
|
75
|
-
});
|
|
76
|
-
};
|
|
77
|
-
|
|
78
50
|
var ImageReview = function ImageReview() {
|
|
79
51
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
80
52
|
className: "puzzle--image__preview"
|
|
@@ -123,21 +95,33 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
123
95
|
hasHighlights = props.hasHighlights,
|
|
124
96
|
hasImageReview = props.hasImageReview,
|
|
125
97
|
defaultCompleted = props.defaultCompleted,
|
|
126
|
-
isLast = props.isLast,
|
|
127
98
|
hideContinue = props.hideContinue,
|
|
128
99
|
className = props.className,
|
|
129
|
-
emitFinish = props.emitFinish
|
|
100
|
+
emitFinish = props.emitFinish,
|
|
101
|
+
translateFromParent = props.translateFromParent;
|
|
130
102
|
|
|
131
103
|
var translate = function translate(id) {
|
|
104
|
+
if (translateFromParent) return translateFromParent(id); // when there is no emitEvent pass the Translate
|
|
105
|
+
|
|
132
106
|
return emitEvent({
|
|
133
107
|
type: 'translate',
|
|
134
108
|
payload: id
|
|
135
109
|
});
|
|
136
110
|
};
|
|
137
111
|
|
|
112
|
+
var _useState11 = (0, _react.useState)(''),
|
|
113
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
114
|
+
resolvedClass = _useState12[0],
|
|
115
|
+
setResolveClass = _useState12[1];
|
|
116
|
+
|
|
138
117
|
var _soundActions = _slicedToArray(soundActions, 1),
|
|
139
118
|
playSound = _soundActions[0];
|
|
140
119
|
|
|
120
|
+
var _useState13 = (0, _react.useState)([]),
|
|
121
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
122
|
+
accRewards = _useState14[0],
|
|
123
|
+
setAccRewards = _useState14[1];
|
|
124
|
+
|
|
141
125
|
var solution = info.solution;
|
|
142
126
|
var imageUrl = image.img.url || defaultImg;
|
|
143
127
|
var areasList = areas.map(function (area, index) {
|
|
@@ -154,16 +138,17 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
154
138
|
});
|
|
155
139
|
var handleFinish = (0, _react.useCallback)(function () {
|
|
156
140
|
var rewards = solution.right.rewards;
|
|
141
|
+
var fullRewards = [].concat(_toConsumableArray(accRewards), _toConsumableArray(rewards));
|
|
157
142
|
|
|
158
143
|
if (emitFinish) {
|
|
159
|
-
emitFinish(
|
|
144
|
+
emitFinish(fullRewards);
|
|
160
145
|
} else {
|
|
161
146
|
emitEvent({
|
|
162
147
|
type: 'addPoints',
|
|
163
|
-
payload:
|
|
148
|
+
payload: fullRewards
|
|
164
149
|
});
|
|
165
150
|
}
|
|
166
|
-
}, [emitEvent, emitFinish, solution.right]);
|
|
151
|
+
}, [accRewards, emitEvent, emitFinish, solution.right]);
|
|
167
152
|
(0, _react.useEffect)(function () {
|
|
168
153
|
if (completed) {
|
|
169
154
|
disableExit(true);
|
|
@@ -178,9 +163,12 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
178
163
|
if (areas.length === clickedZones.length) {
|
|
179
164
|
setCompleted(true);
|
|
180
165
|
setDisableClick(true);
|
|
166
|
+
setResolveClass('success');
|
|
167
|
+
console.log('añañaña');
|
|
181
168
|
|
|
182
|
-
if (
|
|
169
|
+
if (info.solution.right.desc === '') {
|
|
183
170
|
timeout = setTimeout(function () {
|
|
171
|
+
setResolveClass('');
|
|
184
172
|
handleFinish();
|
|
185
173
|
}, 2000);
|
|
186
174
|
}
|
|
@@ -191,8 +179,9 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
191
179
|
clearTimeout(timeout);
|
|
192
180
|
}
|
|
193
181
|
};
|
|
194
|
-
}, [clickedZones, areas.length, handleFinish, hideContinue]);
|
|
182
|
+
}, [clickedZones, areas.length, handleFinish, hideContinue, info.solution.right.desc]);
|
|
195
183
|
(0, _react.useEffect)(function () {
|
|
184
|
+
//autoResolve
|
|
196
185
|
setResolveAction(function (resolve) {
|
|
197
186
|
setCompleted(true);
|
|
198
187
|
setDisableClick(true);
|
|
@@ -218,26 +207,31 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
218
207
|
setClickedZones([]);
|
|
219
208
|
}
|
|
220
209
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
210
|
+
setShowWrongFeedback(true);
|
|
211
|
+
setResolveClass('wrong');
|
|
212
|
+
|
|
213
|
+
if (!feedback) {
|
|
214
|
+
setTimeout(function () {
|
|
215
|
+
setShowWrongFeedback(false);
|
|
216
|
+
setResolveClass('');
|
|
217
|
+
!emitFinish ? emitEvent({
|
|
218
|
+
type: 'addPoints',
|
|
219
|
+
payload: wrongRewards,
|
|
220
|
+
finish: false
|
|
221
|
+
}) : setAccRewards([].concat(_toConsumableArray(accRewards), _toConsumableArray(wrongRewards)));
|
|
222
|
+
}, 2000);
|
|
229
223
|
}
|
|
230
224
|
}
|
|
231
225
|
};
|
|
232
226
|
|
|
233
|
-
var
|
|
227
|
+
var handleOnClose = function handleOnClose() {
|
|
228
|
+
if (completed && !finished && resolvedClass === 'success') {
|
|
229
|
+
handleFinish();
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
setResolveClass('');
|
|
234
233
|
setShowWrongFeedback(false);
|
|
235
|
-
|
|
236
|
-
type: 'addPoints',
|
|
237
|
-
payload: solution.wrong.rewards,
|
|
238
|
-
finish: false
|
|
239
|
-
});
|
|
240
|
-
}, [emitEvent, solution]);
|
|
234
|
+
};
|
|
241
235
|
|
|
242
236
|
var handleAreaClick = function handleAreaClick(area) {
|
|
243
237
|
if (!clickedZones.some(function (zone) {
|
|
@@ -256,6 +250,7 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
256
250
|
|
|
257
251
|
if (feedback) {
|
|
258
252
|
setShowWrongFeedback(true);
|
|
253
|
+
setResolveClass('wrong');
|
|
259
254
|
} else {
|
|
260
255
|
emitEvent({
|
|
261
256
|
type: 'addPoints',
|
|
@@ -269,20 +264,13 @@ var ImageClickWrapperComponent = function ImageClickWrapperComponent(props) {
|
|
|
269
264
|
|
|
270
265
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
271
266
|
className: className
|
|
272
|
-
},
|
|
273
|
-
playSound: playSound,
|
|
274
|
-
onClose: handleOncloseWrongFeedback,
|
|
275
|
-
text: info.solution.wrong.desc
|
|
276
|
-
}) : null, completed ? /*#__PURE__*/_react.default.createElement(CompletedMessage, {
|
|
267
|
+
}, resolvedClass !== "" ? /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
|
|
277
268
|
playSound: playSound,
|
|
278
|
-
text: info.solution
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
className: "gat--btn gat--btn__primary green",
|
|
284
|
-
onClick: handleFinish
|
|
285
|
-
}, isLast ? translate('tests.finish') : translate('puzzles.continue'))) : null, /*#__PURE__*/_react.default.createElement(_KonvaMapper.default, {
|
|
269
|
+
text: info.solution[resolvedClass === 'success' ? 'right' : 'wrong'].desc,
|
|
270
|
+
success: resolvedClass === 'success',
|
|
271
|
+
translate: translate,
|
|
272
|
+
functionOnClose: handleOnClose
|
|
273
|
+
}) : null, /*#__PURE__*/_react.default.createElement(_KonvaMapper.default, {
|
|
286
274
|
completed: completed,
|
|
287
275
|
imageUrl: imageUrl,
|
|
288
276
|
areas: areasList,
|
|
@@ -310,7 +298,6 @@ ImageClickWrapperComponent.defaultProps = {
|
|
|
310
298
|
hasImageReview: false,
|
|
311
299
|
defaultCompleted: false,
|
|
312
300
|
hideContinue: false,
|
|
313
|
-
isLast: true,
|
|
314
301
|
emitAreaClick: function emitAreaClick() {}
|
|
315
302
|
};
|
|
316
303
|
var _default = ImageClickWrapperComponent;
|
|
@@ -5,8 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mockProps4 = exports.mockProps3 = exports.mockProps2 = exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent() {
|
|
9
|
-
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
11
|
+
console.log('Emit event called', type);
|
|
12
|
+
|
|
13
|
+
if (type === 'translate') {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
var soundActions = [function (sound) {
|
|
@@ -5,8 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mockWithImageNotViewed = exports.mockWithNotVisible = exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent() {
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
9
11
|
console.log('Emit Event');
|
|
12
|
+
|
|
13
|
+
if (type === 'translate') {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
var mockProps = {
|
|
@@ -78,6 +78,13 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
78
78
|
feedbackIsShown = _useState14[0],
|
|
79
79
|
setFeedbackIsShown = _useState14[1];
|
|
80
80
|
|
|
81
|
+
var translate = function translate(id) {
|
|
82
|
+
return emitEvent({
|
|
83
|
+
type: 'translate',
|
|
84
|
+
payload: id
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
|
|
81
88
|
var imageURL = ((_image$img = image.img) === null || _image$img === void 0 ? void 0 : _image$img.url) || defaultImage;
|
|
82
89
|
|
|
83
90
|
var _soundActions = _slicedToArray(soundActions, 1),
|
|
@@ -184,9 +191,10 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
184
191
|
}, col);
|
|
185
192
|
}));
|
|
186
193
|
})), feedbackIsShown && /*#__PURE__*/_react.default.createElement(_FeedbackComponent.default, {
|
|
194
|
+
shortText: true,
|
|
195
|
+
translate: translate,
|
|
187
196
|
text: feedBackText,
|
|
188
|
-
success: feedbackResult
|
|
189
|
-
additionalStyle: "bottom"
|
|
197
|
+
success: feedbackResult
|
|
190
198
|
}));
|
|
191
199
|
};
|
|
192
200
|
|
|
@@ -5,8 +5,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.mockProps = void 0;
|
|
7
7
|
|
|
8
|
-
var emitEvent = function emitEvent() {
|
|
8
|
+
var emitEvent = function emitEvent(_ref) {
|
|
9
|
+
var type = _ref.type,
|
|
10
|
+
payload = _ref.payload;
|
|
9
11
|
console.log('Emit event called');
|
|
12
|
+
|
|
13
|
+
if (type === "translate") {
|
|
14
|
+
return payload;
|
|
15
|
+
}
|
|
10
16
|
};
|
|
11
17
|
|
|
12
18
|
var mockProps = {
|