@gamelearn/arcade-components 0.12.0 → 0.14.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.
- package/dist/components/arcade-render/loading/LoadingLogic.js +4 -3
- package/dist/components/arcade-render/scene/ConfigController.js +70 -4
- package/dist/components/arcade-render/scene/index.js +8 -3
- package/dist/components/cards-selector-puzzle-component/components/CardsSelectorPuzzleComponent.js +7 -1
- package/dist/components/cards-selector-puzzle-component/mocks/mockForStory.js +1 -0
- package/dist/components/cartel-component/components/CartelComponent.js +24 -6
- package/dist/components/chained-image-click-puzzle-component/components/CurrentImagePuzzle.js +7 -2
- package/dist/components/conversational-component/components/ConversationalComponent.js +3 -1
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +5 -2
- package/dist/components/conversational-pro-component/components/SlotList.js +3 -1
- package/dist/components/conversational-pro-component/components/scene/Panel.js +4 -3
- package/dist/components/conversational-pro-component/components/scene/Panels.js +4 -2
- package/dist/components/conversational-pro-component/components/scene/index.js +4 -2
- package/dist/components/conversational-pro-component/mocks/mockForStory.js +266 -2
- package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +11 -21
- package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +1 -0
- package/dist/components/decision-component/components/DecisionBody.js +0 -2
- package/dist/components/decision-component/components/DecisionComponent.js +9 -2
- package/dist/components/decision-component/components/Feedback.js +0 -2
- package/dist/components/decision-component/mocks/mockForStory.js +20 -6
- package/dist/components/frame-click-puzzle-component/components/FrameClickPuzzleComponent.js +0 -1
- package/dist/components/frame-click-puzzle-component/components/PlayButton/index.js +2 -2
- package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +6 -8
- package/dist/components/hacker-puzzle-component/components/languages.js +2 -1
- package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +3 -0
- package/dist/components/hanged-puzzle-component/components/HangedPuzzleComponent.js +33 -64
- package/dist/components/index.js +8 -0
- package/dist/components/inventory-item/components/InventoryItem.js +3 -2
- package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +10 -1
- package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +1 -0
- package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +6 -0
- package/dist/components/login-puzzle-component/mocks/mockForStory.js +1 -0
- package/dist/components/media-visor/components/MediaVisor.js +140 -0
- package/dist/components/media-visor/index.js +13 -0
- package/dist/components/media-visor/mocks/mockForStory.js +27 -0
- package/dist/components/pdf-component/components/PdfComponent.js +1 -1
- package/dist/components/pdf-component/components/PdfVisor.js +4 -5
- package/dist/components/rewards-component/components/RewardsComponent.js +0 -1
- package/dist/components/survey-component/components/SurveyComponent.js +13 -8
- package/dist/components/terminal-puzzle-component/components/TerminalPuzzleComponent.js +6 -1
- package/dist/components/terminal-puzzle-component/mocks/mockForStory.js +1 -0
- package/dist/components/web-builder-puzzle-component/components/WebBuilderPuzzleComponent.js +5 -0
- package/dist/components/web-builder-puzzle-component/mocks/mockForStory.js +1 -0
- package/dist/components/writer-puzzle-component/components/WriterPuzzleComponent.js +7 -6
- package/dist/components/writer-puzzle-component/mocks/mockForStory.js +1 -0
- package/dist/helpers/deviceDetection.js +13 -0
- package/dist/helpers/drawLOD.js +16 -10
- package/dist/helpers/index.js +7 -1
- package/dist/helpers/useWindowSize.js +56 -0
- package/package.json +4 -4
|
@@ -9,12 +9,8 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
12
|
var _utils = require("../utils");
|
|
15
13
|
|
|
16
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
-
|
|
18
14
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
19
15
|
|
|
20
16
|
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; }
|
|
@@ -33,10 +29,6 @@ function _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== "und
|
|
|
33
29
|
|
|
34
30
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
31
|
|
|
36
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
37
|
-
|
|
38
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
39
|
-
|
|
40
32
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
41
33
|
|
|
42
34
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -67,7 +59,7 @@ var AnswerPanel = function AnswerPanel(_ref) {
|
|
|
67
59
|
wordIndex += 1;
|
|
68
60
|
}
|
|
69
61
|
});
|
|
70
|
-
return
|
|
62
|
+
return words.map(function (word, index) {
|
|
71
63
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
72
64
|
key: index,
|
|
73
65
|
className: "puzzle--hanged__word",
|
|
@@ -83,12 +75,9 @@ var AnswerPanel = function AnswerPanel(_ref) {
|
|
|
83
75
|
className: "puzzle--hanged__letter ".concat(!fixed ? 'active' : '')
|
|
84
76
|
}, char);
|
|
85
77
|
}));
|
|
86
|
-
})
|
|
78
|
+
});
|
|
87
79
|
};
|
|
88
80
|
|
|
89
|
-
AnswerPanel.propTypes = {
|
|
90
|
-
answer: _propTypes.default.arrayOf(_propTypes.default.shape({})).isRequired
|
|
91
|
-
};
|
|
92
81
|
var defaultImage = 'https://min.gamelearn.io/css-resources/gamelearn/resources/partenon.jpg';
|
|
93
82
|
|
|
94
83
|
var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
@@ -101,8 +90,7 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
101
90
|
image = _ref4.image,
|
|
102
91
|
info = _ref4.info,
|
|
103
92
|
answer = _ref4.answer,
|
|
104
|
-
hintUsed = _ref4.hintUsed
|
|
105
|
-
props = _objectWithoutProperties(_ref4, ["soundActions", "emitEvent", "disableExit", "question", "image", "info", "answer", "hintUsed"]);
|
|
93
|
+
hintUsed = _ref4.hintUsed;
|
|
106
94
|
|
|
107
95
|
var _soundActions = _slicedToArray(soundActions, 1),
|
|
108
96
|
playSound = _soundActions[0];
|
|
@@ -114,32 +102,36 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
114
102
|
poolLetters = _useState2[0],
|
|
115
103
|
setPoolLetters = _useState2[1];
|
|
116
104
|
|
|
117
|
-
var _useState3 = (0, _react.useState)(
|
|
105
|
+
var _useState3 = (0, _react.useState)(false),
|
|
118
106
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
119
|
-
|
|
120
|
-
|
|
107
|
+
mounted = _useState4[0],
|
|
108
|
+
setMounted = _useState4[1];
|
|
121
109
|
|
|
122
|
-
var _useState5 = (0, _react.useState)(
|
|
110
|
+
var _useState5 = (0, _react.useState)([]),
|
|
123
111
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
124
|
-
|
|
125
|
-
|
|
112
|
+
resolvedAnswer = _useState6[0],
|
|
113
|
+
setAnswer = _useState6[1];
|
|
126
114
|
|
|
127
|
-
var _useState7 = (0, _react.useState)(
|
|
115
|
+
var _useState7 = (0, _react.useState)(''),
|
|
128
116
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
129
|
-
|
|
130
|
-
|
|
117
|
+
resolvedClass = _useState8[0],
|
|
118
|
+
setResolveClass = _useState8[1];
|
|
131
119
|
|
|
132
120
|
var _useState9 = (0, _react.useState)(false),
|
|
133
121
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
134
|
-
|
|
135
|
-
|
|
122
|
+
failed = _useState10[0],
|
|
123
|
+
setFailed = _useState10[1];
|
|
124
|
+
|
|
125
|
+
var _useState11 = (0, _react.useState)(false),
|
|
126
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
127
|
+
disabled = _useState12[0],
|
|
128
|
+
setDisable = _useState12[1];
|
|
136
129
|
|
|
137
130
|
var translatedAnswer = answer.toUpperCase().split('');
|
|
138
131
|
var answerPanel = translatedAnswer.filter(function (char) {
|
|
139
132
|
return (0, _utils.restrictCharacters)(char, 'and');
|
|
140
133
|
});
|
|
141
|
-
|
|
142
|
-
var resetPool = function resetPool() {
|
|
134
|
+
var resetPool = (0, _react.useCallback)(function () {
|
|
143
135
|
var newPool = answerPanel.map(function (char) {
|
|
144
136
|
return {
|
|
145
137
|
char: char
|
|
@@ -147,20 +139,16 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
147
139
|
});
|
|
148
140
|
var extraPool = [];
|
|
149
141
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
char: char
|
|
156
|
-
}]);
|
|
157
|
-
}
|
|
142
|
+
while (extraPool.length < MAX_EXTRA_LETTERS) {
|
|
143
|
+
var char = (0, _utils.makeChar)();
|
|
144
|
+
extraPool = [].concat(_toConsumableArray(extraPool), [{
|
|
145
|
+
char: char
|
|
146
|
+
}]);
|
|
158
147
|
}
|
|
159
148
|
|
|
160
149
|
return [].concat(_toConsumableArray(newPool), _toConsumableArray(extraPool));
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
var setHiddenAnswer = function setHiddenAnswer() {
|
|
150
|
+
}, [answerPanel]);
|
|
151
|
+
var setHiddenAnswer = (0, _react.useCallback)(function () {
|
|
164
152
|
var hiddenAnswer = answer.toUpperCase().split('').map(function (char, index) {
|
|
165
153
|
if ((0, _utils.restrictCharacters)(char, 'or')) {
|
|
166
154
|
return {
|
|
@@ -211,7 +199,7 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
211
199
|
|
|
212
200
|
setAnswer(hiddenAnswer);
|
|
213
201
|
setPoolLetters(newPool);
|
|
214
|
-
};
|
|
202
|
+
}, [answer, hintUsed, resetPool]);
|
|
215
203
|
|
|
216
204
|
var removedPool = function removedPool(character, ind) {
|
|
217
205
|
var newPool = poolLetters.map(function (letter, index) {
|
|
@@ -349,8 +337,11 @@ var HangedPuzzleComponent = function HangedPuzzleComponent(_ref4) {
|
|
|
349
337
|
};
|
|
350
338
|
|
|
351
339
|
(0, _react.useEffect)(function () {
|
|
352
|
-
|
|
353
|
-
|
|
340
|
+
if (!mounted) {
|
|
341
|
+
setMounted(true);
|
|
342
|
+
setHiddenAnswer();
|
|
343
|
+
}
|
|
344
|
+
}, [setHiddenAnswer, mounted]);
|
|
354
345
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
355
346
|
className: "puzzle--hanged",
|
|
356
347
|
style: {
|
|
@@ -403,27 +394,5 @@ HangedPuzzleComponent.defaultProps = {
|
|
|
403
394
|
hintBought: {}
|
|
404
395
|
}
|
|
405
396
|
};
|
|
406
|
-
HangedPuzzleComponent.propTypes = {
|
|
407
|
-
question: _propTypes.default.string,
|
|
408
|
-
answer: _propTypes.default.string,
|
|
409
|
-
image: _propTypes.default.shape({
|
|
410
|
-
imgId: _propTypes.default.string
|
|
411
|
-
}),
|
|
412
|
-
hintBought: _propTypes.default.bool,
|
|
413
|
-
info: _propTypes.default.shape({
|
|
414
|
-
description: _propTypes.default.string,
|
|
415
|
-
instructions: _propTypes.default.string,
|
|
416
|
-
resolve: _propTypes.default.shape({}),
|
|
417
|
-
solution: _propTypes.default.shape({
|
|
418
|
-
right: _propTypes.default.shape({
|
|
419
|
-
rewards: _propTypes.default.arrayOf(_propTypes.default.shape({}))
|
|
420
|
-
}),
|
|
421
|
-
wrong: _propTypes.default.shape({
|
|
422
|
-
rewards: _propTypes.default.arrayOf(_propTypes.default.shape({}))
|
|
423
|
-
})
|
|
424
|
-
}),
|
|
425
|
-
hintBought: _propTypes.default.shape({})
|
|
426
|
-
})
|
|
427
|
-
};
|
|
428
397
|
var _default = HangedPuzzleComponent;
|
|
429
398
|
exports.default = _default;
|
package/dist/components/index.js
CHANGED
|
@@ -185,6 +185,12 @@ Object.defineProperty(exports, "SurveyComponent", {
|
|
|
185
185
|
return _surveyComponent.default;
|
|
186
186
|
}
|
|
187
187
|
});
|
|
188
|
+
Object.defineProperty(exports, "MediaVisor", {
|
|
189
|
+
enumerable: true,
|
|
190
|
+
get: function get() {
|
|
191
|
+
return _mediaVisor.default;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
188
194
|
|
|
189
195
|
var _scene = _interopRequireDefault(require("./arcade-render/scene"));
|
|
190
196
|
|
|
@@ -244,6 +250,8 @@ var _testComponent = _interopRequireDefault(require("./test-component"));
|
|
|
244
250
|
|
|
245
251
|
var _surveyComponent = _interopRequireDefault(require("./survey-component"));
|
|
246
252
|
|
|
253
|
+
var _mediaVisor = _interopRequireDefault(require("./media-visor"));
|
|
254
|
+
|
|
247
255
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
248
256
|
|
|
249
257
|
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; }
|
|
@@ -31,7 +31,8 @@ var InventoryItem = function InventoryItem(_ref) {
|
|
|
31
31
|
var name = _ref.name,
|
|
32
32
|
description = _ref.description,
|
|
33
33
|
element = _ref.element,
|
|
34
|
-
onFinish = _ref.onFinish
|
|
34
|
+
onFinish = _ref.onFinish,
|
|
35
|
+
lodSettings = _ref.lodSettings;
|
|
35
36
|
var orbit = (0, _react.useRef)();
|
|
36
37
|
|
|
37
38
|
if (!element) {
|
|
@@ -52,7 +53,7 @@ var InventoryItem = function InventoryItem(_ref) {
|
|
|
52
53
|
camera.fov = 35;
|
|
53
54
|
camera.updateProjectionMatrix();
|
|
54
55
|
(0, _helpers.cameraFitAnyObject)(model, camera, null, orbit.current);
|
|
55
|
-
(0, _drawLOD.default)(scene, camera);
|
|
56
|
+
(0, _drawLOD.default)(scene, camera, lodSettings);
|
|
56
57
|
}
|
|
57
58
|
};
|
|
58
59
|
|
|
@@ -40,6 +40,7 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
40
40
|
keyboard = _ref.keyboard,
|
|
41
41
|
info = _ref.info,
|
|
42
42
|
disableExit = _ref.disableExit,
|
|
43
|
+
soundActions = _ref.soundActions,
|
|
43
44
|
setResolveAction = _ref.setResolveAction;
|
|
44
45
|
|
|
45
46
|
var _useState = (0, _react.useState)(false),
|
|
@@ -79,10 +80,14 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
79
80
|
|
|
80
81
|
var imageURL = ((_image$img = image.img) === null || _image$img === void 0 ? void 0 : _image$img.url) || defaultImage;
|
|
81
82
|
|
|
83
|
+
var _soundActions = _slicedToArray(soundActions, 1),
|
|
84
|
+
playSound = _soundActions[0];
|
|
85
|
+
|
|
82
86
|
var checkPass = function checkPass(current) {
|
|
83
87
|
if (current === password) {
|
|
84
88
|
disableExit(false);
|
|
85
89
|
setPassClass('success');
|
|
90
|
+
playSound('score');
|
|
86
91
|
setFeedbackResult(true);
|
|
87
92
|
setFeedBackText(info.solution.right.desc);
|
|
88
93
|
setFeedbackIsShown(true);
|
|
@@ -98,6 +103,7 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
98
103
|
setFailed(true);
|
|
99
104
|
setFeedbackIsShown(true);
|
|
100
105
|
setPassClass('failed');
|
|
106
|
+
playSound('fail');
|
|
101
107
|
setFeedbackResult(false);
|
|
102
108
|
setFeedBackText(info.solution.wrong.desc);
|
|
103
109
|
setTimeout(function () {
|
|
@@ -111,6 +117,7 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
111
117
|
(0, _react.useEffect)(function () {
|
|
112
118
|
setResolveAction(function (resolve) {
|
|
113
119
|
disableExit(false);
|
|
120
|
+
playSound('score');
|
|
114
121
|
setPassClass('success');
|
|
115
122
|
setFeedbackResult(true);
|
|
116
123
|
setFeedBackText(info.solution.right.desc);
|
|
@@ -119,10 +126,11 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
119
126
|
resolve();
|
|
120
127
|
}, 4000);
|
|
121
128
|
});
|
|
122
|
-
}, [setResolveAction, disableExit, info.solution.right.desc]);
|
|
129
|
+
}, [setResolveAction, disableExit, info.solution.right.desc, playSound]);
|
|
123
130
|
|
|
124
131
|
var handleNumbClick = function handleNumbClick(row, col) {
|
|
125
132
|
var char = keyboard[row][col];
|
|
133
|
+
playSound('click-ui');
|
|
126
134
|
|
|
127
135
|
if (inputPassword.length < password.length + 1) {
|
|
128
136
|
setInputPassword(inputPassword + char);
|
|
@@ -134,6 +142,7 @@ var KeyboardPuzzleComponent = function KeyboardPuzzleComponent(_ref) {
|
|
|
134
142
|
};
|
|
135
143
|
|
|
136
144
|
var handleRemoveChar = function handleRemoveChar() {
|
|
145
|
+
playSound('click-ui');
|
|
137
146
|
setInputPassword(inputPassword.substring(0, inputPassword.length - 1));
|
|
138
147
|
};
|
|
139
148
|
|
|
@@ -13,6 +13,7 @@ var mockProps = {
|
|
|
13
13
|
emitEvent: emitEvent,
|
|
14
14
|
disableExit: function disableExit() {},
|
|
15
15
|
setResolveAction: function setResolveAction() {},
|
|
16
|
+
soundActions: [function () {}, function () {}],
|
|
16
17
|
password: '1234',
|
|
17
18
|
keyboard: [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['*', '0', '#']],
|
|
18
19
|
image: {
|
|
@@ -31,6 +31,7 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
31
31
|
var _image$img;
|
|
32
32
|
|
|
33
33
|
var emitEvent = _ref.emitEvent,
|
|
34
|
+
soundActions = _ref.soundActions,
|
|
34
35
|
info = _ref.info,
|
|
35
36
|
user = _ref.user,
|
|
36
37
|
login = _ref.login,
|
|
@@ -74,6 +75,9 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
74
75
|
failed = _useState12[0],
|
|
75
76
|
setFailed = _useState12[1];
|
|
76
77
|
|
|
78
|
+
var _soundActions = _slicedToArray(soundActions, 1),
|
|
79
|
+
playSound = _soundActions[0];
|
|
80
|
+
|
|
77
81
|
var imgURL = ((_image$img = image.img) === null || _image$img === void 0 ? void 0 : _image$img.url) || imagenPorDefecto;
|
|
78
82
|
|
|
79
83
|
var handleFinish = function handleFinish() {
|
|
@@ -102,10 +106,12 @@ var LoginPuzzleComponent = function LoginPuzzleComponent(_ref) {
|
|
|
102
106
|
setSuccessClass('success');
|
|
103
107
|
setFinished(true);
|
|
104
108
|
setErrorMessage(false);
|
|
109
|
+
playSound('score');
|
|
105
110
|
setTimeout(function () {
|
|
106
111
|
handleFinish();
|
|
107
112
|
}, 2000);
|
|
108
113
|
} else {
|
|
114
|
+
playSound('fail');
|
|
109
115
|
setFailed(true);
|
|
110
116
|
setSuccessClass('failed');
|
|
111
117
|
setErrorMessage(true);
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _hls = _interopRequireDefault(require("hls.js"));
|
|
13
|
+
|
|
14
|
+
require("../styles/MediaVisor.css");
|
|
15
|
+
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
17
|
+
|
|
18
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
23
|
+
|
|
24
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
|
+
|
|
26
|
+
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."); }
|
|
27
|
+
|
|
28
|
+
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); }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
35
|
+
|
|
36
|
+
var defaultBgImageForAudio = "https://min.gamelearn.io/css-resources/gamelearn/resources/bgAudioPiece.jpg";
|
|
37
|
+
|
|
38
|
+
var VideoVisor = function VideoVisor(_ref) {
|
|
39
|
+
var documentType = _ref.documentType,
|
|
40
|
+
url = _ref.url,
|
|
41
|
+
imgId = _ref.imgId,
|
|
42
|
+
endVideo = _ref.endVideo;
|
|
43
|
+
|
|
44
|
+
var _useState = (0, _react.useState)(),
|
|
45
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
46
|
+
videoPlayer = _useState2[0],
|
|
47
|
+
setVideo = _useState2[1];
|
|
48
|
+
|
|
49
|
+
var isHls = url && url.match(/\.m3u8(\?.+=.+)*$/i) && _hls.default.isSupported();
|
|
50
|
+
|
|
51
|
+
var isEmbeddedVideo = url && (url.match(/youtube/i) || url.match(/vimeo/i));
|
|
52
|
+
var isAudio = url && (url.match(/.mp3/i) || url.match(/.ogg/i) || url.match(/.wav/i));
|
|
53
|
+
var videoProps = {
|
|
54
|
+
ref: function ref(videoRef) {
|
|
55
|
+
setVideo(videoRef);
|
|
56
|
+
},
|
|
57
|
+
src: url,
|
|
58
|
+
style: {
|
|
59
|
+
height: "100%",
|
|
60
|
+
width: "100%"
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
var onEnded = function onEnded() {
|
|
65
|
+
videoPlayer.pause();
|
|
66
|
+
|
|
67
|
+
if (documentType !== "document" && documentType !== "lesson") {
|
|
68
|
+
endVideo();
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
var onError = function onError() {
|
|
73
|
+
endVideo();
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
(0, _react.useEffect)(function () {
|
|
77
|
+
var hls;
|
|
78
|
+
|
|
79
|
+
if (videoPlayer) {
|
|
80
|
+
if (isHls) {
|
|
81
|
+
hls = new _hls.default();
|
|
82
|
+
var URL_RAND = "".concat(url, "?v=").concat(Math.floor(Math.random() * 99999999));
|
|
83
|
+
hls.loadSource(URL_RAND);
|
|
84
|
+
hls.attachMedia(videoPlayer);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return function () {
|
|
88
|
+
if (hls) {
|
|
89
|
+
hls.destroy();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
hls = null;
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return undefined;
|
|
97
|
+
}, [isHls, url, videoPlayer]);
|
|
98
|
+
var audioBackgroundImage = imgId || defaultBgImageForAudio;
|
|
99
|
+
var CoverOrContain = audioBackgroundImage === defaultBgImageForAudio ? "cover" : "contain";
|
|
100
|
+
var configForAudio = {
|
|
101
|
+
backgroundImage: "url(\"".concat(audioBackgroundImage, "\")"),
|
|
102
|
+
backgroundSize: CoverOrContain,
|
|
103
|
+
backgroundRepeat: "no-repeat",
|
|
104
|
+
backgroundPosition: "center center"
|
|
105
|
+
};
|
|
106
|
+
console.log('re-render control');
|
|
107
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
108
|
+
className: "video media-visor",
|
|
109
|
+
style: isAudio ? configForAudio : null
|
|
110
|
+
}, !isEmbeddedVideo ? /*#__PURE__*/_react.default.createElement("video", _extends({
|
|
111
|
+
onEnded: onEnded,
|
|
112
|
+
onError: onError
|
|
113
|
+
}, videoProps, {
|
|
114
|
+
controls: true,
|
|
115
|
+
disablePictureInPicture: true,
|
|
116
|
+
controlsList: "nofullscreen nodownload noremoteplayback"
|
|
117
|
+
})) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
118
|
+
className: "position--absolute right top z-index1"
|
|
119
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
120
|
+
className: "gat--btn__round",
|
|
121
|
+
onClick: endVideo
|
|
122
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
123
|
+
className: "icon-close"
|
|
124
|
+
}))), /*#__PURE__*/_react.default.createElement("iframe", _extends({
|
|
125
|
+
className: "embeddedVideo",
|
|
126
|
+
title: "title"
|
|
127
|
+
}, videoProps))));
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
VideoVisor.defaultProps = {
|
|
131
|
+
url: "",
|
|
132
|
+
name: "",
|
|
133
|
+
imgId: null,
|
|
134
|
+
documentType: "",
|
|
135
|
+
required: false,
|
|
136
|
+
viewed: false,
|
|
137
|
+
endVideo: function endVideo() {}
|
|
138
|
+
};
|
|
139
|
+
var _default = VideoVisor;
|
|
140
|
+
exports.default = _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _MediaVisor = _interopRequireDefault(require("./components/MediaVisor"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var _default = _MediaVisor.default;
|
|
13
|
+
exports.default = _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mockProps = void 0;
|
|
7
|
+
var path = 'https://min.gamelearn.io/statics.triskelion';
|
|
8
|
+
var cloudfront = 'https://dszv2c8p7i9xo.cloudfront.net/';
|
|
9
|
+
var mockProps = [{
|
|
10
|
+
name: 'video',
|
|
11
|
+
required: true,
|
|
12
|
+
documentType: 'document',
|
|
13
|
+
url: "".concat(cloudfront, "10fdf3ba-8bcb-49ef-b6fd-2cdd083b8e0d/hls/radio.m3u8"),
|
|
14
|
+
viewed: false
|
|
15
|
+
}, {
|
|
16
|
+
url: "".concat(path, "/triskelion-statics/videos/ada_hack.mp4")
|
|
17
|
+
}, {
|
|
18
|
+
url: "https://www.youtube.com/embed/5KcuphEhO8Q"
|
|
19
|
+
}, {
|
|
20
|
+
url: 'https://player.vimeo.com/video/144094036'
|
|
21
|
+
}, {
|
|
22
|
+
url: 'https://pokemoncries.com/cries-old/1.mp3'
|
|
23
|
+
}, {
|
|
24
|
+
imgId: 'https://min.int.gamelearn.io/cooked.gl-lms-storage/clients/58dccfba26561500117caf53/image/60224b7a901f3e0012350158/vista-vertical-torre-eiffel-paris-francia_1258-3169.jpg',
|
|
25
|
+
url: 'https://pokemoncries.com/cries-old/1.mp3'
|
|
26
|
+
}];
|
|
27
|
+
exports.mockProps = mockProps;
|
|
@@ -9,6 +9,8 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
|
|
12
|
+
var _deviceDetection = require("../../../helpers/deviceDetection");
|
|
13
|
+
|
|
12
14
|
var _reactPdf = require("react-pdf");
|
|
13
15
|
|
|
14
16
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
@@ -50,16 +52,13 @@ var PdfVisor = function PdfVisor(_ref) {
|
|
|
50
52
|
currentPage = _useState6[0],
|
|
51
53
|
setCurrentPage = _useState6[1];
|
|
52
54
|
|
|
53
|
-
var
|
|
54
|
-
return navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i);
|
|
55
|
-
}, []);
|
|
56
|
-
var scale = isMobile ? 1 : 2;
|
|
55
|
+
var scale = (0, _deviceDetection.DeviceDetection)() ? 1 : 2;
|
|
57
56
|
var handleLoadSucess = (0, _react.useCallback)(function (pdf) {
|
|
58
57
|
setPages(pdf.numPages);
|
|
59
58
|
|
|
60
59
|
var timeOut = function timeOut() {
|
|
61
60
|
setTimeout(function () {
|
|
62
|
-
if (scrollElement.current.scrollHeight <= scrollElement.current.offsetHeight) {
|
|
61
|
+
if (scrollElement.current && scrollElement.current.scrollHeight <= scrollElement.current.offsetHeight) {
|
|
63
62
|
setOverlay(false);
|
|
64
63
|
}
|
|
65
64
|
}, 1000);
|
|
@@ -39,7 +39,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
39
39
|
|
|
40
40
|
var RewardsComponent = function RewardsComponent(_ref) {
|
|
41
41
|
var rewards = _ref.rewards,
|
|
42
|
-
addPoints = _ref.addPoints,
|
|
43
42
|
emitEvent = _ref.emitEvent;
|
|
44
43
|
var carouselRef = (0, _react.useRef)();
|
|
45
44
|
var indicators = emitEvent({
|
|
@@ -41,16 +41,20 @@ var INIT_SURVEY = {
|
|
|
41
41
|
};
|
|
42
42
|
var PAGES = [{
|
|
43
43
|
component: _ApplicableBox.default,
|
|
44
|
-
id: 'applicable'
|
|
44
|
+
id: 'applicable',
|
|
45
|
+
disableContinue: true
|
|
45
46
|
}, {
|
|
46
47
|
component: _OpinionBox.default,
|
|
47
|
-
id: 'opinion'
|
|
48
|
+
id: 'opinion',
|
|
49
|
+
disableContinue: true
|
|
48
50
|
}, {
|
|
49
51
|
component: _TextBox.default,
|
|
50
|
-
id: 'comments'
|
|
52
|
+
id: 'comments',
|
|
53
|
+
disableContinue: true
|
|
51
54
|
}, {
|
|
52
55
|
component: _TextBox.default,
|
|
53
|
-
id: 'suggestions'
|
|
56
|
+
id: 'suggestions',
|
|
57
|
+
disableContinue: false
|
|
54
58
|
}];
|
|
55
59
|
|
|
56
60
|
var SurveyComponent = function SurveyComponent(_ref) {
|
|
@@ -84,8 +88,9 @@ var SurveyComponent = function SurveyComponent(_ref) {
|
|
|
84
88
|
});
|
|
85
89
|
};
|
|
86
90
|
|
|
87
|
-
var
|
|
88
|
-
|
|
91
|
+
var changePage = function changePage() {
|
|
92
|
+
var nextPage = PAGES[page + 1];
|
|
93
|
+
disable(nextPage ? nextPage.disableContinue : true);
|
|
89
94
|
setPage(page + 1);
|
|
90
95
|
};
|
|
91
96
|
|
|
@@ -119,7 +124,7 @@ var SurveyComponent = function SurveyComponent(_ref) {
|
|
|
119
124
|
id: "survey-button",
|
|
120
125
|
type: "button",
|
|
121
126
|
onClick: function onClick() {
|
|
122
|
-
return disabled ? null :
|
|
127
|
+
return disabled ? null : changePage();
|
|
123
128
|
},
|
|
124
129
|
className: "gat--btn__navigation"
|
|
125
130
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -131,7 +136,7 @@ var SurveyComponent = function SurveyComponent(_ref) {
|
|
|
131
136
|
if (!finished) {
|
|
132
137
|
finish();
|
|
133
138
|
emitEvent({
|
|
134
|
-
type: '
|
|
139
|
+
type: 'saveSurvey',
|
|
135
140
|
payload: survey
|
|
136
141
|
});
|
|
137
142
|
}
|
|
@@ -65,7 +65,8 @@ var TerminalPuzzleComponent = function TerminalPuzzleComponent(_ref) {
|
|
|
65
65
|
backgroundImage = _ref.backgroundImage,
|
|
66
66
|
solution = _ref.solution,
|
|
67
67
|
info = _ref.info,
|
|
68
|
-
disableExit = _ref.disableExit
|
|
68
|
+
disableExit = _ref.disableExit,
|
|
69
|
+
soundActions = _ref.soundActions;
|
|
69
70
|
|
|
70
71
|
// todo: PREPROCESS BACKGROUND IMAGE IN ARCADE
|
|
71
72
|
var _useState = (0, _react.useState)({}),
|
|
@@ -82,6 +83,9 @@ var TerminalPuzzleComponent = function TerminalPuzzleComponent(_ref) {
|
|
|
82
83
|
breadcrumb = _useState6[0],
|
|
83
84
|
setBreadcrumb = _useState6[1];
|
|
84
85
|
|
|
86
|
+
var _soundActions = _slicedToArray(soundActions, 1),
|
|
87
|
+
playSound = _soundActions[0];
|
|
88
|
+
|
|
85
89
|
var translate = function translate(id) {
|
|
86
90
|
return emitEvent({
|
|
87
91
|
type: 'translate',
|
|
@@ -126,6 +130,7 @@ var TerminalPuzzleComponent = function TerminalPuzzleComponent(_ref) {
|
|
|
126
130
|
};
|
|
127
131
|
|
|
128
132
|
var resolvePuzzle = function resolvePuzzle() {
|
|
133
|
+
playSound('score');
|
|
129
134
|
emitEvent({
|
|
130
135
|
type: 'addPoints',
|
|
131
136
|
payload: info.solution.right.rewards
|