@gamelearn/arcade-components 0.2.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/README.md +53 -0
- package/dist/components/arcade-render/background/index.js +33 -0
- package/dist/components/arcade-render/background/scene-elements/customGeometry/index.js +46 -0
- package/dist/components/arcade-render/background/scene-elements/index.js +90 -0
- package/dist/components/arcade-render/element/AnimateElement.js +60 -0
- package/dist/components/arcade-render/element/Projection.js +38 -0
- package/dist/components/arcade-render/element/index.js +134 -0
- package/dist/components/arcade-render/elements-list/ClickableArea.js +76 -0
- package/dist/components/arcade-render/elements-list/Poster.js +80 -0
- package/dist/components/arcade-render/elements-list/index.js +152 -0
- package/dist/components/arcade-render/light/index.js +33 -0
- package/dist/components/arcade-render/light/useLight.js +51 -0
- package/dist/components/arcade-render/loading/Loading.js +55 -0
- package/dist/components/arcade-render/loading/LoadingLogic.js +54 -0
- package/dist/components/arcade-render/loading/index.js +21 -0
- package/dist/components/arcade-render/mocks/index.js +12 -0
- package/dist/components/arcade-render/scene/index.js +152 -0
- package/dist/components/cartel-component/components/CartelComponent.js +102 -0
- package/dist/components/cartel-component/index.js +13 -0
- package/dist/components/comic-component/components/ComicComponent.js +106 -0
- package/dist/components/comic-component/components/Slide.js +74 -0
- package/dist/components/comic-component/components/Vignette.js +29 -0
- package/dist/components/comic-component/index.js +13 -0
- package/dist/components/comic-component/mocks/mockForStory.js +58 -0
- package/dist/components/conversational-component/components/ConversationalComponent.js +116 -0
- package/dist/components/conversational-component/index.js +13 -0
- package/dist/components/conversational-pro-component/components/ConversationalProComponent.js +226 -0
- package/dist/components/conversational-pro-component/components/Message.js +42 -0
- package/dist/components/conversational-pro-component/components/Slot.js +67 -0
- package/dist/components/conversational-pro-component/components/SlotList.js +112 -0
- package/dist/components/conversational-pro-component/components/scene/Panel.js +114 -0
- package/dist/components/conversational-pro-component/components/scene/Panels.js +35 -0
- package/dist/components/conversational-pro-component/components/scene/index.js +90 -0
- package/dist/components/conversational-pro-component/index.js +13 -0
- package/dist/components/conversational-pro-component/mocks/mockForStory.js +591 -0
- package/dist/components/cracker-puzzle-component/components/CrackerPuzzleComponent.js +316 -0
- package/dist/components/cracker-puzzle-component/components/DrawGrid/index.js +44 -0
- package/dist/components/cracker-puzzle-component/components/DrawItem/index.js +53 -0
- package/dist/components/cracker-puzzle-component/components/DrawRow/index.js +48 -0
- package/dist/components/cracker-puzzle-component/components/colors.js +12 -0
- package/dist/components/cracker-puzzle-component/components/helpers.js +168 -0
- package/dist/components/cracker-puzzle-component/index.js +13 -0
- package/dist/components/cracker-puzzle-component/mocks/mockForStory.js +219 -0
- package/dist/components/decision-component/components/DecisionBody.js +167 -0
- package/dist/components/decision-component/components/DecisionComponent.js +231 -0
- package/dist/components/decision-component/components/Feedback.js +83 -0
- package/dist/components/decision-component/components/Options.js +37 -0
- package/dist/components/decision-component/components/Rewards.js +203 -0
- package/dist/components/decision-component/index.js +13 -0
- package/dist/components/decision-component/mocks/mockForStory.js +43 -0
- package/dist/components/hacker-puzzle-component/components/HackerPuzzleComponent.js +294 -0
- package/dist/components/hacker-puzzle-component/components/languages.js +12 -0
- package/dist/components/hacker-puzzle-component/index.js +13 -0
- package/dist/components/hacker-puzzle-component/mocks/mockForStory.js +101 -0
- package/dist/components/image-component/components/ImageComponent.js +66 -0
- package/dist/components/image-component/index.js +13 -0
- package/dist/components/image-component/mocks/mockForStory.js +50 -0
- package/dist/components/index.js +163 -0
- package/dist/components/inventory-item/components/InventoryItem.js +100 -0
- package/dist/components/inventory-item/index.js +13 -0
- package/dist/components/inventory-item/mocks/mockForStory.js +28 -0
- package/dist/components/keyboard-puzzle-component/components/FeedbackMessage.js +30 -0
- package/dist/components/keyboard-puzzle-component/components/KeyboardPuzzleComponent.js +160 -0
- package/dist/components/keyboard-puzzle-component/index.js +13 -0
- package/dist/components/keyboard-puzzle-component/mocks/mockForStory.js +36 -0
- package/dist/components/lectures-component/components/LectureButtons.js +50 -0
- package/dist/components/lectures-component/components/LecturesComponent.js +140 -0
- package/dist/components/lectures-component/index.js +13 -0
- package/dist/components/lectures-component/mocks/mockForStory.js +22 -0
- package/dist/components/login-puzzle-component/components/LoginPuzzleComponent.js +170 -0
- package/dist/components/login-puzzle-component/index.js +13 -0
- package/dist/components/login-puzzle-component/mocks/mockForStory.js +38 -0
- package/dist/components/notice-component/components/NoticeComponent.js +61 -0
- package/dist/components/notice-component/index.js +13 -0
- package/dist/components/notice-component/mocks/mockForStory.js +20 -0
- package/dist/components/pdf-component/components/PdfComponent.js +79 -0
- package/dist/components/pdf-component/components/PdfVisor.js +84 -0
- package/dist/components/pdf-component/index.js +23 -0
- package/dist/components/pdf-component/mocks/mockForProps.js +23 -0
- package/dist/components/pikachu-component/components/PikachuComponent.js +24 -0
- package/dist/components/pikachu-component/index.js +13 -0
- package/dist/components/pikachu-component/mocks/mockForStory.js +15 -0
- package/dist/components/url-component/components/UrlComponent.js +92 -0
- package/dist/components/url-component/index.js +13 -0
- package/dist/components/url-component/mocks/mockForProps.js +1 -0
- package/dist/components/video-component/components/VideoComponent.js +72 -0
- package/dist/components/video-component/index.js +13 -0
- package/dist/components/video-component/mocks/mockForStory.js +84 -0
- package/dist/components/video-visor/components/VideoControllers/BufferBar.js +130 -0
- package/dist/components/video-visor/components/VideoControllers/ControlButtons.js +36 -0
- package/dist/components/video-visor/components/VideoControllers/FinishedVideoButtons.js +45 -0
- package/dist/components/video-visor/components/VideoControllers/PlayInitButton.js +46 -0
- package/dist/components/video-visor/components/VideoControllers/SkipButton.js +44 -0
- package/dist/components/video-visor/components/VideoControllers/Timer.js +42 -0
- package/dist/components/video-visor/components/VideoControllers/VolumeBar.js +108 -0
- package/dist/components/video-visor/components/VideoControllers/index.js +122 -0
- package/dist/components/video-visor/components/VideoVisor.js +308 -0
- package/dist/components/video-visor/index.js +13 -0
- package/dist/components/video-visor/mocks/mockForStory.js +27 -0
- package/dist/helpers/LightSet.js +39 -0
- package/dist/helpers/LodController.js +37 -0
- package/dist/helpers/drawLOD.js +358 -0
- package/dist/helpers/index.js +82 -0
- package/dist/helpers/lodStats.js +51 -0
- package/dist/helpers/useGLB.js +62 -0
- package/dist/index.js +18 -0
- package/package.json +75 -0
|
@@ -0,0 +1,83 @@
|
|
|
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 _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _Rewards = _interopRequireDefault(require("./Rewards"));
|
|
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
|
+
var FeedBack = function FeedBack(_ref) {
|
|
23
|
+
var choice = _ref.choice,
|
|
24
|
+
inherited = _ref.inherited,
|
|
25
|
+
rewards = _ref.rewards,
|
|
26
|
+
addPoints = _ref.addPoints;
|
|
27
|
+
var noFeedBack = choice.feedback === '' || !choice.feedback;
|
|
28
|
+
var centerRewards = noFeedBack;
|
|
29
|
+
|
|
30
|
+
var Wrapper = function Wrapper(_ref2) {
|
|
31
|
+
var children = _ref2.children;
|
|
32
|
+
return inherited ? /*#__PURE__*/_react.default.createElement("div", {
|
|
33
|
+
className: "conversation--feedback ".concat(centerRewards ? 'only--rewards' : '')
|
|
34
|
+
}, children) : centerRewards ? /*#__PURE__*/_react.default.createElement("div", {
|
|
35
|
+
className: "popup__basicDecision__only--rewards only--rewards"
|
|
36
|
+
}, children) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, children);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
var noRewards = rewards.filter(function (reward) {
|
|
40
|
+
return reward.type !== 'grade';
|
|
41
|
+
}).length === 0;
|
|
42
|
+
(0, _react.useEffect)(function () {
|
|
43
|
+
if (rewards.filter(function (reward) {
|
|
44
|
+
return reward.type === 'grade';
|
|
45
|
+
}).length === rewards.length) {
|
|
46
|
+
addPoints();
|
|
47
|
+
}
|
|
48
|
+
}, [addPoints, rewards]);
|
|
49
|
+
return noFeedBack && noRewards ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null) : /*#__PURE__*/_react.default.createElement(Wrapper, null, !noFeedBack ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
|
|
50
|
+
className: "conversation--feedback__title"
|
|
51
|
+
}, "Feedback"), /*#__PURE__*/_react.default.createElement("div", {
|
|
52
|
+
className: "conversation--feedback__text"
|
|
53
|
+
}, choice.right ? /*#__PURE__*/_react.default.createElement("span", {
|
|
54
|
+
className: "icon-check-circle-black color--success"
|
|
55
|
+
}) : /*#__PURE__*/_react.default.createElement("span", {
|
|
56
|
+
className: "icon-error-circle-black color--error"
|
|
57
|
+
}), /*#__PURE__*/_react.default.createElement("p", null, choice.feedback))) : null, !noRewards ? /*#__PURE__*/_react.default.createElement(_Rewards.default, {
|
|
58
|
+
rewards: choice.right ? rewards : choice.rewards
|
|
59
|
+
}) : null);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
FeedBack.defaultProps = {
|
|
63
|
+
addPoints: function addPoints() {},
|
|
64
|
+
rewards: [],
|
|
65
|
+
choice: {},
|
|
66
|
+
inherited: false,
|
|
67
|
+
nodeId: 0
|
|
68
|
+
};
|
|
69
|
+
FeedBack.propTypes = {
|
|
70
|
+
inherited: _propTypes.default.bool,
|
|
71
|
+
addPoints: _propTypes.default.func,
|
|
72
|
+
rewards: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
73
|
+
choice: _propTypes.default.shape({
|
|
74
|
+
id: _propTypes.default.number,
|
|
75
|
+
rewards: _propTypes.default.arrayOf(_propTypes.default.shape()),
|
|
76
|
+
feedback: _propTypes.default.string,
|
|
77
|
+
slot: _propTypes.default.bool,
|
|
78
|
+
right: _propTypes.default.bool,
|
|
79
|
+
text: _propTypes.default.string
|
|
80
|
+
})
|
|
81
|
+
};
|
|
82
|
+
var _default = FeedBack;
|
|
83
|
+
exports.default = _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var Options = function Options(_ref) {
|
|
13
|
+
var inherited = _ref.inherited,
|
|
14
|
+
options = _ref.options,
|
|
15
|
+
selectedChoice = _ref.selectedChoice,
|
|
16
|
+
selectChoice = _ref.selectChoice;
|
|
17
|
+
return options.filter(function (option) {
|
|
18
|
+
return option.text;
|
|
19
|
+
}).map(function (option) {
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
21
|
+
key: option.id,
|
|
22
|
+
className: inherited ? 'conversation--question' : 'radio'
|
|
23
|
+
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
24
|
+
type: "radio",
|
|
25
|
+
name: option.id,
|
|
26
|
+
defaultChecked: selectedChoice.id === option.id
|
|
27
|
+
}), /*#__PURE__*/_react.default.createElement("label", {
|
|
28
|
+
htmlFor: option.id,
|
|
29
|
+
onClick: function onClick() {
|
|
30
|
+
selectChoice(option);
|
|
31
|
+
}
|
|
32
|
+
}, option.text));
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var _default = Options;
|
|
37
|
+
exports.default = _default;
|
|
@@ -0,0 +1,203 @@
|
|
|
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 _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
17
|
+
|
|
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; }
|
|
19
|
+
|
|
20
|
+
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; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
25
|
+
|
|
26
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
27
|
+
|
|
28
|
+
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."); }
|
|
29
|
+
|
|
30
|
+
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); }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
34
|
+
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; }
|
|
35
|
+
|
|
36
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
37
|
+
|
|
38
|
+
var Rewards = function Rewards(_ref) {
|
|
39
|
+
var rewards = _ref.rewards,
|
|
40
|
+
addPoints = _ref.addPoints,
|
|
41
|
+
indicators = _ref.indicators;
|
|
42
|
+
// Constantes para carrousel
|
|
43
|
+
var itemRef = (0, _react.useRef)();
|
|
44
|
+
var carouselContentRef = (0, _react.useRef)();
|
|
45
|
+
|
|
46
|
+
var _useState = (0, _react.useState)(0),
|
|
47
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
48
|
+
itemWidth = _useState2[0],
|
|
49
|
+
setItemWidth = _useState2[1];
|
|
50
|
+
|
|
51
|
+
var _useState3 = (0, _react.useState)(0),
|
|
52
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
53
|
+
carouselContentWidth = _useState4[0],
|
|
54
|
+
setCarouselContentWidth = _useState4[1];
|
|
55
|
+
|
|
56
|
+
var _useState5 = (0, _react.useState)(0),
|
|
57
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
58
|
+
offset = _useState6[0],
|
|
59
|
+
setOffset = _useState6[1];
|
|
60
|
+
|
|
61
|
+
var _useState7 = (0, _react.useState)("translateX(0px)"),
|
|
62
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
63
|
+
transform = _useState8[0],
|
|
64
|
+
setTransform = _useState8[1];
|
|
65
|
+
|
|
66
|
+
var _useState9 = (0, _react.useState)(0),
|
|
67
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
68
|
+
itemsLeft = _useState10[0],
|
|
69
|
+
setItemsLeft = _useState10[1];
|
|
70
|
+
|
|
71
|
+
var onlyGrade = rewards.filter(function (reward) {
|
|
72
|
+
return reward.type === 'grade';
|
|
73
|
+
}).length === rewards.length;
|
|
74
|
+
var filteredRewards = rewards.filter(function (reward) {
|
|
75
|
+
return reward.type !== 'grade';
|
|
76
|
+
});
|
|
77
|
+
var rewardsUnified = [];
|
|
78
|
+
filteredRewards.forEach(function (currentReward) {
|
|
79
|
+
var found = rewardsUnified.findIndex(function (reward) {
|
|
80
|
+
return currentReward.id === reward.id;
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
if (found >= 0) {
|
|
84
|
+
rewardsUnified[found].points += currentReward.points;
|
|
85
|
+
} else {
|
|
86
|
+
rewardsUnified.push(_objectSpread({}, currentReward));
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
var filteredRewardsUnified = rewardsUnified.filter(function (reward) {
|
|
90
|
+
return reward.points !== 0;
|
|
91
|
+
});
|
|
92
|
+
var noRewards = filteredRewardsUnified.length === 0;
|
|
93
|
+
(0, _react.useEffect)(function () {
|
|
94
|
+
if (onlyGrade) {
|
|
95
|
+
addPoints();
|
|
96
|
+
}
|
|
97
|
+
}, [onlyGrade, addPoints]);
|
|
98
|
+
(0, _react.useEffect)(function () {
|
|
99
|
+
if (carouselContentRef.current) {
|
|
100
|
+
setCarouselContentWidth(carouselContentRef.current.offsetWidth);
|
|
101
|
+
}
|
|
102
|
+
}, [carouselContentRef]);
|
|
103
|
+
(0, _react.useEffect)(function () {
|
|
104
|
+
var itemInScreen = Math.floor(carouselContentWidth / itemWidth);
|
|
105
|
+
var currentItemsLeft = filteredRewardsUnified.length - itemInScreen - offset;
|
|
106
|
+
setItemsLeft(currentItemsLeft);
|
|
107
|
+
}, [carouselContentWidth, itemWidth, offset, filteredRewardsUnified.length]);
|
|
108
|
+
(0, _react.useEffect)(function () {
|
|
109
|
+
setTransform("translateX(-".concat(itemWidth * offset, "px)"));
|
|
110
|
+
}, [itemWidth, offset]);
|
|
111
|
+
(0, _react.useEffect)(function () {
|
|
112
|
+
if (itemRef.current) {
|
|
113
|
+
var separatorWidth = Number.parseInt(window.getComputedStyle(itemRef.current).getPropertyValue('margin-right').split('px')[0], 0);
|
|
114
|
+
var iWidth = Number.parseInt(itemRef.current.offsetWidth, 0);
|
|
115
|
+
setItemWidth(separatorWidth + iWidth);
|
|
116
|
+
}
|
|
117
|
+
}, [carouselContentRef, itemRef]);
|
|
118
|
+
|
|
119
|
+
var onClickPrev = function onClickPrev() {
|
|
120
|
+
if (offset <= 0) return;
|
|
121
|
+
setOffset(offset - 1);
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
var onClickNext = function onClickNext() {
|
|
125
|
+
if (itemsLeft <= 1) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
setOffset(offset + 1);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
if (onlyGrade || noRewards) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
137
|
+
className: "test--results__rewards"
|
|
138
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
139
|
+
onClick: onClickPrev,
|
|
140
|
+
className: "icon-back ".concat(filteredRewardsUnified.length < 4 ? 'visibility--hidden' : '', " ").concat(offset <= 0 ? 'disabled' : '')
|
|
141
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
142
|
+
ref: carouselContentRef,
|
|
143
|
+
className: "test--results__carrousel"
|
|
144
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
145
|
+
className: "test--results__carrousel--list test--results__centered",
|
|
146
|
+
style: {
|
|
147
|
+
transform: transform
|
|
148
|
+
}
|
|
149
|
+
}, filteredRewardsUnified.map(function (reward, i) {
|
|
150
|
+
var group = indicators.find(function (g) {
|
|
151
|
+
return g.type === reward.type;
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
if (!group) {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
var indicator = group.records.find(function (r) {
|
|
159
|
+
return r.id === reward.id;
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
if (!indicator) {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
167
|
+
key: indicator.name,
|
|
168
|
+
ref: itemRef,
|
|
169
|
+
className: "test--results__carrousel--item"
|
|
170
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
171
|
+
className: "test--rewards__icons"
|
|
172
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
173
|
+
className: indicator.icon
|
|
174
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
175
|
+
className: "test--rewards__indicator\n ".concat(reward.points > 0 ? 'success' : 'failed')
|
|
176
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
177
|
+
className: "".concat(reward.points > 0 ? 'icon-up' : 'icon-down')
|
|
178
|
+
}))), /*#__PURE__*/_react.default.createElement("span", {
|
|
179
|
+
className: "test--rewards__text"
|
|
180
|
+
}, /*#__PURE__*/_react.default.createElement("b", null, reward.points > 0 ? '+' : '', reward.points), ":", indicator.name));
|
|
181
|
+
}))), /*#__PURE__*/_react.default.createElement("span", {
|
|
182
|
+
onClick: onClickNext,
|
|
183
|
+
className: "icon-next ".concat(filteredRewardsUnified.length < 4 ? 'visibility--hidden' : '', " ").concat(itemsLeft <= 1 ? 'disabled' : '')
|
|
184
|
+
}));
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
Rewards.defaultProps = {
|
|
188
|
+
rewards: [],
|
|
189
|
+
indicators: [],
|
|
190
|
+
addPoints: function addPoints() {}
|
|
191
|
+
};
|
|
192
|
+
Rewards.propTypes = {
|
|
193
|
+
indicators: _propTypes.default.arrayOf(_propTypes.default.shape({})),
|
|
194
|
+
rewards: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
195
|
+
type: _propTypes.default.string,
|
|
196
|
+
id: _propTypes.default.string,
|
|
197
|
+
name: _propTypes.default.string,
|
|
198
|
+
points: _propTypes.default.number
|
|
199
|
+
})),
|
|
200
|
+
addPoints: _propTypes.default.func
|
|
201
|
+
};
|
|
202
|
+
var _default = Rewards;
|
|
203
|
+
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 _DecisionComponent = _interopRequireDefault(require("./components/DecisionComponent"));
|
|
9
|
+
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
|
+
|
|
12
|
+
var _default = _DecisionComponent.default;
|
|
13
|
+
exports.default = _default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.decisionProps = void 0;
|
|
7
|
+
var decisionProps = {
|
|
8
|
+
options: [{
|
|
9
|
+
id: 0,
|
|
10
|
+
right: false,
|
|
11
|
+
feedback: 'dfgsdfgsdfgsdfghdfgh',
|
|
12
|
+
text: 'Si',
|
|
13
|
+
rewards: [],
|
|
14
|
+
audioId: '',
|
|
15
|
+
text_labelId: 'text_3_0_u4s8j5fa',
|
|
16
|
+
feedback_labelId: 'feedback_3_0_u4s8jVTv',
|
|
17
|
+
audioId_labelId: 'audioId_3_0_u4s8jyiK'
|
|
18
|
+
}, {
|
|
19
|
+
id: 1,
|
|
20
|
+
right: false,
|
|
21
|
+
feedback: 'fasdfasdfg',
|
|
22
|
+
text: 'No',
|
|
23
|
+
rewards: [],
|
|
24
|
+
audioId: '',
|
|
25
|
+
text_labelId: 'text_3_1_u4s8jzBF',
|
|
26
|
+
feedback_labelId: 'feedback_3_1_u4s8jWNa',
|
|
27
|
+
audioId_labelId: 'audioId_3_1_u4s8jaJY'
|
|
28
|
+
}, {
|
|
29
|
+
id: 2,
|
|
30
|
+
right: true,
|
|
31
|
+
feedback: 'asdfasd',
|
|
32
|
+
text: 'Patata',
|
|
33
|
+
rewards: [],
|
|
34
|
+
audioId: '',
|
|
35
|
+
text_labelId: 'text_3_2_u4s8jA2Z',
|
|
36
|
+
feedback_labelId: 'feedback_3_2_u4s8jBIJ',
|
|
37
|
+
audioId_labelId: 'audioId_3_2_u4s8j23g'
|
|
38
|
+
}],
|
|
39
|
+
required: true,
|
|
40
|
+
question: 'Funciona la decisión',
|
|
41
|
+
question_labelId: 'question_3_u4s8i10a'
|
|
42
|
+
};
|
|
43
|
+
exports.decisionProps = decisionProps;
|
|
@@ -0,0 +1,294 @@
|
|
|
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 _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _reactTypist = _interopRequireDefault(require("react-typist"));
|
|
15
|
+
|
|
16
|
+
var _languages = _interopRequireDefault(require("./languages"));
|
|
17
|
+
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
|
|
20
|
+
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
21
|
+
|
|
22
|
+
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; }
|
|
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 themes = {
|
|
37
|
+
theme1: {
|
|
38
|
+
bg: 1,
|
|
39
|
+
color: 1,
|
|
40
|
+
typo: 2
|
|
41
|
+
},
|
|
42
|
+
theme2: {
|
|
43
|
+
bg: 3,
|
|
44
|
+
color: 2,
|
|
45
|
+
typo: 3
|
|
46
|
+
},
|
|
47
|
+
theme3: {
|
|
48
|
+
bg: 5,
|
|
49
|
+
color: 4,
|
|
50
|
+
typo: 1
|
|
51
|
+
},
|
|
52
|
+
theme4: {
|
|
53
|
+
bg: 1,
|
|
54
|
+
color: 3,
|
|
55
|
+
typo: 2
|
|
56
|
+
},
|
|
57
|
+
theme5: {
|
|
58
|
+
bg: 2,
|
|
59
|
+
color: 5,
|
|
60
|
+
typo: 1
|
|
61
|
+
},
|
|
62
|
+
theme6: {
|
|
63
|
+
bg: 5,
|
|
64
|
+
color: 6,
|
|
65
|
+
typo: 2
|
|
66
|
+
},
|
|
67
|
+
theme7: {
|
|
68
|
+
bg: 1,
|
|
69
|
+
color: 7,
|
|
70
|
+
typo: 3
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
var HackerPuzzleComponent = function HackerPuzzleComponent(_ref) {
|
|
75
|
+
var emitEvent = _ref.emitEvent,
|
|
76
|
+
info = _ref.info,
|
|
77
|
+
themeNumber = _ref.themeNumber,
|
|
78
|
+
type = _ref.type,
|
|
79
|
+
writingSpeed = _ref.writingSpeed,
|
|
80
|
+
disableExit = _ref.disableExit,
|
|
81
|
+
setResolveAction = _ref.setResolveAction;
|
|
82
|
+
|
|
83
|
+
var translate = function translate(id) {
|
|
84
|
+
return emitEvent({
|
|
85
|
+
type: 'translate',
|
|
86
|
+
payload: id
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
var solution = info.solution;
|
|
91
|
+
var defaultTheme = 1;
|
|
92
|
+
var currentTheme = themes['theme' + (themeNumber || defaultTheme)];
|
|
93
|
+
|
|
94
|
+
var _useState = (0, _react.useState)(''),
|
|
95
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
96
|
+
codeContainer = _useState2[0],
|
|
97
|
+
setCodeContainer = _useState2[1];
|
|
98
|
+
|
|
99
|
+
var _useState3 = (0, _react.useState)(0),
|
|
100
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
101
|
+
currentLine = _useState4[0],
|
|
102
|
+
setCurrentLine = _useState4[1];
|
|
103
|
+
|
|
104
|
+
var _useState5 = (0, _react.useState)(0),
|
|
105
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
106
|
+
progress = _useState6[0],
|
|
107
|
+
setProgress = _useState6[1];
|
|
108
|
+
|
|
109
|
+
var _useState7 = (0, _react.useState)(false),
|
|
110
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
111
|
+
finished = _useState8[0],
|
|
112
|
+
setFinished = _useState8[1];
|
|
113
|
+
|
|
114
|
+
var _useState9 = (0, _react.useState)({
|
|
115
|
+
start: 0,
|
|
116
|
+
end: 0
|
|
117
|
+
}),
|
|
118
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
119
|
+
lettersGroup = _useState10[0],
|
|
120
|
+
setLettersGroup = _useState10[1];
|
|
121
|
+
|
|
122
|
+
var el = (0, _react.useRef)();
|
|
123
|
+
var code = (0, _react.useRef)();
|
|
124
|
+
var hackerPuzzleCompleted = translate('puzzle.hacker.crackedPassword');
|
|
125
|
+
|
|
126
|
+
var checkEnd = function checkEnd(end, actual) {
|
|
127
|
+
return end > actual.length ? actual.length : end;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
var renderProgressBar = function renderProgressBar() {
|
|
131
|
+
var lines = _languages.default[type];
|
|
132
|
+
|
|
133
|
+
if (lines) {
|
|
134
|
+
var totalLength = lines.reduce(function (acc, current) {
|
|
135
|
+
return (acc.length ? acc.length : acc) + current.length;
|
|
136
|
+
});
|
|
137
|
+
var percentage = Math.floor(progress * 100 / totalLength);
|
|
138
|
+
var classProgressLabel = percentage === 100 ? 'puzzle--hacker__percentage percentage--label' : 'puzzle--hacker__percentage';
|
|
139
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
140
|
+
className: "puzzle--hacker__progress"
|
|
141
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
142
|
+
className: "puzzle--hacker__progress--item",
|
|
143
|
+
style: {
|
|
144
|
+
width: "".concat(Math.floor(progress * 100 / totalLength), "%")
|
|
145
|
+
}
|
|
146
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
147
|
+
className: classProgressLabel
|
|
148
|
+
}, percentage, "%")));
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return null;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
var renderCode = function renderCode() {
|
|
155
|
+
var text = codeContainer;
|
|
156
|
+
var split = text.split('<br>');
|
|
157
|
+
|
|
158
|
+
if (split.length > 0) {
|
|
159
|
+
return split.map(function (line, ind) {
|
|
160
|
+
var newLine = line.replace(/ /g, "\xA0");
|
|
161
|
+
return /*#__PURE__*/_react.default.createElement("p", {
|
|
162
|
+
key: "line_".concat(ind)
|
|
163
|
+
}, newLine);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
return /*#__PURE__*/_react.default.createElement("p", null, text);
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var handleFinish = function handleFinish() {
|
|
171
|
+
emitEvent({
|
|
172
|
+
type: 'playSound',
|
|
173
|
+
payload: 'click-ui'
|
|
174
|
+
});
|
|
175
|
+
var rewards = solution.right.rewards;
|
|
176
|
+
emitEvent({
|
|
177
|
+
type: 'addPoints',
|
|
178
|
+
payload: rewards
|
|
179
|
+
});
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
(0, _react.useEffect)(function () {
|
|
183
|
+
if (finished) {
|
|
184
|
+
disableExit(true);
|
|
185
|
+
}
|
|
186
|
+
}, [finished]);
|
|
187
|
+
(0, _react.useEffect)(function () {
|
|
188
|
+
setResolveAction(function (resolve) {
|
|
189
|
+
setFinished(true);
|
|
190
|
+
setTimeout(function () {
|
|
191
|
+
resolve();
|
|
192
|
+
}, 4000);
|
|
193
|
+
});
|
|
194
|
+
}, [setResolveAction]);
|
|
195
|
+
|
|
196
|
+
var writeCode = function writeCode() {
|
|
197
|
+
if (_languages.default[type] && !finished) {
|
|
198
|
+
if (code.current) code.current.scrollTop = el.current.scrollHeight;
|
|
199
|
+
var lines = _languages.default[type];
|
|
200
|
+
var line = lines[currentLine];
|
|
201
|
+
var totalLength = lines.reduce(function (acc, current) {
|
|
202
|
+
return (acc.length ? acc.length : acc) + current.length;
|
|
203
|
+
});
|
|
204
|
+
var speed = writingSpeed > 0 ? writingSpeed : Math.floor(totalLength / 50) + currentLine;
|
|
205
|
+
|
|
206
|
+
if (line) {
|
|
207
|
+
var letters = line.split('');
|
|
208
|
+
var currentTextEnd = checkEnd(lettersGroup.end, letters);
|
|
209
|
+
var currentText = letters.slice(lettersGroup.start, currentTextEnd);
|
|
210
|
+
var text = codeContainer + currentText.join('');
|
|
211
|
+
setProgress(progress + currentText.join('').length);
|
|
212
|
+
setCodeContainer(text);
|
|
213
|
+
|
|
214
|
+
if (currentTextEnd === letters.length) {
|
|
215
|
+
if (currentLine + 1 >= lines.length) {
|
|
216
|
+
emitEvent({
|
|
217
|
+
type: 'playSound',
|
|
218
|
+
payload: 'finish-level'
|
|
219
|
+
});
|
|
220
|
+
setFinished(true);
|
|
221
|
+
} else {
|
|
222
|
+
setCurrentLine(currentLine + 1);
|
|
223
|
+
setCodeContainer("".concat(codeContainer + currentText.join(''), "<br>"));
|
|
224
|
+
setLettersGroup({
|
|
225
|
+
start: 0,
|
|
226
|
+
end: checkEnd(speed, letters)
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
} else {
|
|
230
|
+
setLettersGroup({
|
|
231
|
+
start: currentTextEnd,
|
|
232
|
+
end: checkEnd(currentTextEnd + speed, letters)
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
var handleKeyPress = function handleKeyPress(event) {
|
|
240
|
+
event.preventDefault();
|
|
241
|
+
writeCode();
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
245
|
+
tabIndex: "0",
|
|
246
|
+
"data-testid": "hacker",
|
|
247
|
+
ref: el,
|
|
248
|
+
onKeyPress: handleKeyPress,
|
|
249
|
+
onTouchStart: handleKeyPress,
|
|
250
|
+
className: "puzzle--hacker__container background-hacker-".concat(currentTheme.bg)
|
|
251
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
252
|
+
className: "puzzle--hacker__header"
|
|
253
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
254
|
+
className: "title"
|
|
255
|
+
}, "Console")), /*#__PURE__*/_react.default.createElement("div", {
|
|
256
|
+
className: "puzzle--hacker__body color-hacker-".concat(currentTheme.color, " typography-hacker-").concat(currentTheme.typo)
|
|
257
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
258
|
+
className: "puzzle--hacker__code",
|
|
259
|
+
ref: code
|
|
260
|
+
}, renderCode(), finished && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactTypist.default, {
|
|
261
|
+
avgTypingDelay: 110,
|
|
262
|
+
onCharacterTyped: function onCharacterTyped() {
|
|
263
|
+
if (code.current) code.current.scrollTop = el.current.scrollHeight;
|
|
264
|
+
},
|
|
265
|
+
cursor: {
|
|
266
|
+
hideWhenDone: true
|
|
267
|
+
},
|
|
268
|
+
className: "puzzle--hacker__result"
|
|
269
|
+
}, /*#__PURE__*/_react.default.createElement(_reactTypist.default.Delay, {
|
|
270
|
+
ms: 300
|
|
271
|
+
}), /*#__PURE__*/_react.default.createElement("span", null, "".concat(hackerPuzzleCompleted)), /*#__PURE__*/_react.default.createElement("br", null), solution.right.desc ? solution.right.desc : ''))), renderProgressBar()), finished && /*#__PURE__*/_react.default.createElement("div", {
|
|
272
|
+
className: "position--absolute bottom center"
|
|
273
|
+
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
274
|
+
type: "button",
|
|
275
|
+
className: "gat--btn gat--btn__primary gat--btn__cracker",
|
|
276
|
+
onClick: handleFinish()
|
|
277
|
+
}, translate('screens.continue'))));
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
HackerPuzzleComponent.defaultProps = {
|
|
281
|
+
type: '',
|
|
282
|
+
writingSpeed: 0,
|
|
283
|
+
context: {},
|
|
284
|
+
info: {},
|
|
285
|
+
themeNumber: 1
|
|
286
|
+
};
|
|
287
|
+
HackerPuzzleComponent.propTypes = {
|
|
288
|
+
type: _propTypes.default.string,
|
|
289
|
+
writingSpeed: _propTypes.default.number,
|
|
290
|
+
themeNumber: _propTypes.default.number,
|
|
291
|
+
info: _propTypes.default.shape({})
|
|
292
|
+
};
|
|
293
|
+
var _default = HackerPuzzleComponent;
|
|
294
|
+
exports.default = _default;
|