@gamelearn/arcade-components 1.3.13 → 1.3.15

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.
@@ -65,9 +65,7 @@ var DecisionBody = function DecisionBody(_ref) {
65
65
  selectedChoice: selectedChoice,
66
66
  selectChoice: !showingResults || inherited && failed ? choose : noop,
67
67
  options: options,
68
- showingResults: showingResults,
69
- hasFeedbackDefinedInEditor: currentSelectedChoice.feedback,
70
- hasRewards: hasRewards
68
+ showingResults: showingResults
71
69
  };
72
70
 
73
71
  var BasicDecision = function BasicDecision(_ref2) {
@@ -78,7 +76,9 @@ var DecisionBody = function DecisionBody(_ref) {
78
76
  className: "popup--info"
79
77
  }, showingResults ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, defaultChildren, !currentSelectedChoice.feedback && hasRewards.length === 0 && /*#__PURE__*/_react.default.createElement("span", {
80
78
  className: "popup--info__title"
81
- }, question !== '' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, question))) : /*#__PURE__*/_react.default.createElement("span", {
79
+ }, question !== '' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, question)), !currentSelectedChoice.feedback && hasRewards.length > 0 && /*#__PURE__*/_react.default.createElement("span", {
80
+ className: "popup--info__title"
81
+ }, question)) : /*#__PURE__*/_react.default.createElement("span", {
82
82
  className: "popup--info__title"
83
83
  }, question)), /*#__PURE__*/_react.default.createElement("div", {
84
84
  className: "popup__questions"
@@ -23,14 +23,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
23
 
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
25
25
 
26
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
27
-
28
- 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."); }
29
-
30
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
31
-
32
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
33
-
34
26
  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; }
35
27
 
36
28
  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; }
@@ -71,15 +63,10 @@ var DecisionComponent = function DecisionComponent(_ref) {
71
63
  selectedView = _useState2[0],
72
64
  selectView = _useState2[1];
73
65
 
74
- var _useState3 = (0, _react.useState)([]),
66
+ var _useState3 = (0, _react.useState)({}),
75
67
  _useState4 = _slicedToArray(_useState3, 2),
76
- rewards = _useState4[0],
77
- addReward = _useState4[1];
78
-
79
- var _useState5 = (0, _react.useState)({}),
80
- _useState6 = _slicedToArray(_useState5, 2),
81
- resultChoice = _useState6[0],
82
- setResultChoice = _useState6[1];
68
+ resultChoice = _useState4[0],
69
+ setResultChoice = _useState4[1];
83
70
 
84
71
  var _soundActions = _slicedToArray(soundActions, 1),
85
72
  playSound = _soundActions[0];
@@ -142,36 +129,33 @@ var DecisionComponent = function DecisionComponent(_ref) {
142
129
  if (!failed && selectedView === 'results') {
143
130
  emitEvent({
144
131
  type: 'addPoints',
145
- payload: rewards,
146
- finish: !onFinish
132
+ payload: choice.rewards,
133
+ finish: true,
134
+ complex: true,
135
+ onFinish: onFinish
147
136
  });
148
- setResultChoice({});
149
- selectView('options');
150
-
151
- if (onFinish) {
152
- onFinish();
153
- }
154
137
  } else if (Object.keys(choice).length > 0) {
155
- var currentRewards = [].concat(_toConsumableArray(rewards), _toConsumableArray(choice.rewards));
156
-
157
138
  if (choice.right) {
158
139
  playSound('score');
159
140
  } else {
160
141
  playSound('fail');
142
+ emitEvent({
143
+ type: 'addPoints',
144
+ payload: choice.rewards,
145
+ finish: false,
146
+ complex: true
147
+ });
161
148
  }
162
149
 
163
150
  setResultChoice(choice);
164
- addReward(currentRewards);
165
151
  playCurrentAudio(choice);
166
152
  selectView('results');
167
153
  }
168
154
  },
169
- onExit: function onExit() {
170
- playSound('click-ui');
171
- emitEvent({
172
- type: 'success'
173
- });
174
- },
155
+ // onExit: () => {
156
+ // playSound('click-ui');
157
+ // emitEvent({ type: 'success' });
158
+ // },
175
159
  translate: function translate(id) {
176
160
  return emitEvent({
177
161
  type: 'translate',
@@ -7,16 +7,11 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _RewardsComponent = _interopRequireDefault(require("../../rewards-component/components/RewardsComponent"));
11
-
12
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
11
 
14
12
  var FeedBack = function FeedBack(_ref) {
15
13
  var choice = _ref.choice,
16
- inherited = _ref.inherited,
17
- rewards = _ref.rewards,
18
- emitEvent = _ref.emitEvent,
19
- soundActions = _ref.soundActions;
14
+ inherited = _ref.inherited;
20
15
 
21
16
  var Wrapper = function Wrapper(_ref2) {
22
17
  var children = _ref2.children;
@@ -36,10 +31,7 @@ var FeedBack = function FeedBack(_ref) {
36
31
  return children;
37
32
  };
38
33
 
39
- var noRewards = rewards.filter(function (reward) {
40
- return reward.type !== 'grade';
41
- }).length === 0;
42
- if (!choice.feedback && noRewards) return null;
34
+ if (!choice.feedback) return null;
43
35
  return /*#__PURE__*/_react.default.createElement(Wrapper, null, choice.feedback ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
44
36
  className: "conversation--feedback__title"
45
37
  }, "Feedback"), /*#__PURE__*/_react.default.createElement("div", {
@@ -48,11 +40,7 @@ var FeedBack = function FeedBack(_ref) {
48
40
  className: "icon-check-circle-black color--success"
49
41
  }) : /*#__PURE__*/_react.default.createElement("span", {
50
42
  className: "icon-error-circle-black color--error"
51
- }), /*#__PURE__*/_react.default.createElement("p", null, choice.feedback))) : null, !noRewards ? /*#__PURE__*/_react.default.createElement(_RewardsComponent.default, {
52
- soundActions: soundActions,
53
- rewards: choice.right ? rewards : choice.rewards,
54
- emitEvent: emitEvent
55
- }) : null);
43
+ }), /*#__PURE__*/_react.default.createElement("p", null, choice.feedback))) : null);
56
44
  };
57
45
 
58
46
  var _default = FeedBack;
@@ -14,9 +14,7 @@ var Options = function Options(_ref) {
14
14
  options = _ref.options,
15
15
  selectedChoice = _ref.selectedChoice,
16
16
  selectChoice = _ref.selectChoice,
17
- showingResults = _ref.showingResults,
18
- hasFeedbackDefinedInEditor = _ref.hasFeedbackDefinedInEditor,
19
- hasRewards = _ref.hasRewards;
17
+ showingResults = _ref.showingResults;
20
18
  return options.filter(function (option) {
21
19
  return option.text;
22
20
  }).map(function (option) {
@@ -28,7 +26,7 @@ var Options = function Options(_ref) {
28
26
  name: option.id,
29
27
  defaultChecked: selectedChoice.id === option.id
30
28
  }), showingResults ? /*#__PURE__*/_react.default.createElement("label", {
31
- className: "".concat(option.right ? "radio-text-success ".concat(!hasFeedbackDefinedInEditor && hasRewards.length === 0 ? 'radio-icon-success' : '') : "radio-text-fail ".concat(!hasFeedbackDefinedInEditor && hasRewards.length === 0 ? 'radio-icon-fail' : '')),
29
+ className: "".concat(option.right ? 'radio-text-success' : 'radio-text-fail'),
32
30
  htmlFor: option.id,
33
31
  onClick: function onClick() {
34
32
  selectChoice(option);
@@ -9,22 +9,10 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
- var _rewardsComponent = _interopRequireDefault(require("../../rewards-component"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
13
 
18
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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
15
 
20
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
21
-
22
- 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."); }
23
-
24
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
25
-
26
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
27
-
28
16
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
29
17
 
30
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."); }
@@ -39,7 +27,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
39
27
 
40
28
  var ResultsComponent = function ResultsComponent(_ref) {
41
29
  var result = _ref.result,
42
- showingResult = _ref.showingResult,
43
30
  time = _ref.time,
44
31
  mandatory = _ref.mandatory,
45
32
  correctAnswers = _ref.correctAnswers,
@@ -49,8 +36,7 @@ var ResultsComponent = function ResultsComponent(_ref) {
49
36
  restartTest = _ref.restartTest,
50
37
  timeOver = _ref.timeOver,
51
38
  timeOverText = _ref.timeOverText,
52
- emitEvent = _ref.emitEvent,
53
- soundActions = _ref.soundActions;
39
+ emitEvent = _ref.emitEvent;
54
40
 
55
41
  var _useState = (0, _react.useState)(0),
56
42
  _useState2 = _slicedToArray(_useState, 2),
@@ -68,13 +54,6 @@ var ResultsComponent = function ResultsComponent(_ref) {
68
54
  var totalCorrectAnswers = correctAnswers.length;
69
55
  var showFinishButton = mandatory ? correctAnswersChecked === totalCorrectAnswers : true;
70
56
  var showRetryButton = mandatory ? correctAnswersChecked < totalCorrectAnswers : false;
71
- var rewards = Object.keys(showingResult).reduce(function (acc, resultId) {
72
- return [].concat(_toConsumableArray(acc), _toConsumableArray(showingResult[resultId].rewards));
73
- }, []);
74
- var onlyGrade = rewards.filter(function (reward) {
75
- return reward.type === 'grade';
76
- }).length === rewards.length;
77
- var haveRewards = !onlyGrade && rewards.length > 0;
78
57
  var bar = Math.trunc(points / totalCorrectAnswers * 100);
79
58
 
80
59
  var translate = function translate(id, values) {
@@ -132,11 +111,7 @@ var ResultsComponent = function ResultsComponent(_ref) {
132
111
  className: "test--results__chart"
133
112
  }, /*#__PURE__*/_react.default.createElement("span", null, points), /*#__PURE__*/_react.default.createElement("span", null, "/", totalCorrectAnswers)), /*#__PURE__*/_react.default.createElement("div", {
134
113
  className: "test--results__chart--label"
135
- }, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.success'))))), haveRewards ? /*#__PURE__*/_react.default.createElement(_rewardsComponent.default, {
136
- rewards: rewards,
137
- emitEvent: emitEvent,
138
- soundActions: soundActions
139
- }) : null, /*#__PURE__*/_react.default.createElement("div", {
114
+ }, /*#__PURE__*/_react.default.createElement("span", null, translate('tests.success'))))), /*#__PURE__*/_react.default.createElement("div", {
140
115
  className: "test--buttons"
141
116
  }, !timeOver ? /*#__PURE__*/_react.default.createElement("button", {
142
117
  className: "gat--btn gat--btn__secondary",
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _RewardsComponent = _interopRequireDefault(require("../../rewards-component/components/RewardsComponent"));
11
-
12
10
  var _FeedbackElement = _interopRequireDefault(require("./FeedbackElement"));
13
11
 
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -37,7 +35,6 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
37
35
  checkCorrect = _ref.checkCorrect,
38
36
  rewardsStack = _ref.rewardsStack,
39
37
  setFailed = _ref.setFailed,
40
- nodeId = _ref.nodeId,
41
38
  soundActions = _ref.soundActions;
42
39
 
43
40
  var _soundActions = _slicedToArray(soundActions, 1),
@@ -50,19 +47,6 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
50
47
  });
51
48
  };
52
49
 
53
- var DecisionElement = function DecisionElement(_ref2) {
54
- var decision = _ref2.decision;
55
-
56
- if (texts[decision.currenTextParagraph].electionTexts[decision.index].feedback.body) {
57
- return /*#__PURE__*/_react.default.createElement(_FeedbackElement.default, {
58
- decision: texts[decision.currenTextParagraph].electionTexts[decision.index],
59
- key: decision.index
60
- });
61
- }
62
-
63
- return null;
64
- };
65
-
66
50
  var close = function close() {
67
51
  playSound('click-ui');
68
52
  closingAction();
@@ -76,16 +60,17 @@ var FeedbackComponent = function FeedbackComponent(_ref) {
76
60
  className: "writer-feedback__points ".concat(!decisionsList ? 'center' : '')
77
61
  }, /*#__PURE__*/_react.default.createElement("div", {
78
62
  className: "writer-feedback__title"
79
- }, translate('puzzles.feedback')), rewardsStack.length !== 0 && /*#__PURE__*/_react.default.createElement(_RewardsComponent.default, {
80
- rewards: rewardsStack,
81
- nodeId: nodeId,
82
- emitEvent: emitEvent
83
- })), /*#__PURE__*/_react.default.createElement("div", {
63
+ }, translate('puzzles.feedback'))), /*#__PURE__*/_react.default.createElement("div", {
84
64
  className: "writer-feedback__decisions"
85
65
  }, decisionsList.map(function (decision) {
86
- return /*#__PURE__*/_react.default.createElement(DecisionElement, {
87
- decision: decision
88
- });
66
+ if (texts[decision.currenTextParagraph].electionTexts[decision.index].feedback.body) {
67
+ return /*#__PURE__*/_react.default.createElement(_FeedbackElement.default, {
68
+ decision: texts[decision.currenTextParagraph].electionTexts[decision.index],
69
+ key: decision.index
70
+ });
71
+ }
72
+
73
+ return null;
89
74
  })), /*#__PURE__*/_react.default.createElement("div", {
90
75
  className: "writer-feedback__btns"
91
76
  }, skip && /*#__PURE__*/_react.default.createElement("button", {
@@ -124,7 +109,6 @@ FeedbackComponent.defaultProps = {
124
109
  retry: false,
125
110
  skip: false,
126
111
  checkCorrect: function checkCorrect() {},
127
- rewardsStack: [{}],
128
112
  nodeId: '0'
129
113
  };
130
114
  var _default = FeedbackComponent;
@@ -20,7 +20,11 @@ var FeedbackElement = function FeedbackElement(_ref) {
20
20
  className: "decision__title"
21
21
  }, title, " "), body && /*#__PURE__*/_react.default.createElement("div", {
22
22
  className: "decision__message"
23
- }, body, " ")));
23
+ }, decision.correct ? /*#__PURE__*/_react.default.createElement("span", {
24
+ className: "icon-check-circle-black color--success"
25
+ }) : /*#__PURE__*/_react.default.createElement("span", {
26
+ className: "icon-error-circle-black color--error"
27
+ }), /*#__PURE__*/_react.default.createElement("span", null, body))));
24
28
  };
25
29
 
26
30
  FeedbackElement.defaultProps = {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "license": "Gamelearn",
4
- "version": "1.3.13",
4
+ "version": "1.3.15",
5
5
  "main": "dist/index.js",
6
6
  "files": [
7
7
  "dist",
@@ -1,189 +0,0 @@
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
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
-
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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
-
16
- 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; }
17
-
18
- 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; }
19
-
20
- 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; }
21
-
22
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
23
-
24
- 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."); }
25
-
26
- 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); }
27
-
28
- 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; }
29
-
30
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : 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; }
31
-
32
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
-
34
- var Rewards = function Rewards(_ref) {
35
- var rewards = _ref.rewards,
36
- addPoints = _ref.addPoints,
37
- indicators = _ref.indicators;
38
- // Constantes para carrousel
39
- var itemRef = (0, _react.useRef)();
40
- var carouselContentRef = (0, _react.useRef)();
41
-
42
- var _useState = (0, _react.useState)(0),
43
- _useState2 = _slicedToArray(_useState, 2),
44
- itemWidth = _useState2[0],
45
- setItemWidth = _useState2[1];
46
-
47
- var _useState3 = (0, _react.useState)(0),
48
- _useState4 = _slicedToArray(_useState3, 2),
49
- carouselContentWidth = _useState4[0],
50
- setCarouselContentWidth = _useState4[1];
51
-
52
- var _useState5 = (0, _react.useState)(0),
53
- _useState6 = _slicedToArray(_useState5, 2),
54
- offset = _useState6[0],
55
- setOffset = _useState6[1];
56
-
57
- var _useState7 = (0, _react.useState)("translateX(0px)"),
58
- _useState8 = _slicedToArray(_useState7, 2),
59
- transform = _useState8[0],
60
- setTransform = _useState8[1];
61
-
62
- var _useState9 = (0, _react.useState)(0),
63
- _useState10 = _slicedToArray(_useState9, 2),
64
- itemsLeft = _useState10[0],
65
- setItemsLeft = _useState10[1];
66
-
67
- var onlyGrade = rewards.filter(function (reward) {
68
- return reward.type === 'grade';
69
- }).length === rewards.length;
70
- var filteredRewards = rewards.filter(function (reward) {
71
- return reward.type !== 'grade';
72
- });
73
- var rewardsUnified = [];
74
- filteredRewards.forEach(function (currentReward) {
75
- var found = rewardsUnified.findIndex(function (reward) {
76
- return currentReward.id === reward.id;
77
- });
78
-
79
- if (found >= 0) {
80
- rewardsUnified[found].points += currentReward.points;
81
- } else {
82
- rewardsUnified.push(_objectSpread({}, currentReward));
83
- }
84
- });
85
- var filteredRewardsUnified = rewardsUnified.filter(function (reward) {
86
- return reward.points !== 0;
87
- });
88
- var noRewards = filteredRewardsUnified.length === 0;
89
- (0, _react.useEffect)(function () {
90
- if (onlyGrade) {
91
- addPoints();
92
- }
93
- }, [onlyGrade, addPoints]);
94
- (0, _react.useEffect)(function () {
95
- if (carouselContentRef.current) {
96
- setCarouselContentWidth(carouselContentRef.current.offsetWidth);
97
- }
98
- }, [carouselContentRef]);
99
- (0, _react.useEffect)(function () {
100
- var itemInScreen = Math.floor(carouselContentWidth / itemWidth);
101
- var currentItemsLeft = filteredRewardsUnified.length - itemInScreen - offset;
102
- setItemsLeft(currentItemsLeft);
103
- }, [carouselContentWidth, itemWidth, offset, filteredRewardsUnified.length]);
104
- (0, _react.useEffect)(function () {
105
- setTransform("translateX(-".concat(itemWidth * offset, "px)"));
106
- }, [itemWidth, offset]);
107
- (0, _react.useEffect)(function () {
108
- if (itemRef.current) {
109
- var separatorWidth = Number.parseInt(window.getComputedStyle(itemRef.current).getPropertyValue('margin-right').split('px')[0]);
110
- var iWidth = Number.parseInt(itemRef.current.offsetWidth);
111
- setItemWidth(separatorWidth + iWidth);
112
- }
113
- }, [carouselContentRef, itemRef]);
114
-
115
- var onClickPrev = function onClickPrev() {
116
- if (offset <= 0) return;
117
- setOffset(offset - 1);
118
- };
119
-
120
- var onClickNext = function onClickNext() {
121
- if (itemsLeft <= 1) {
122
- return;
123
- }
124
-
125
- setOffset(offset + 1);
126
- };
127
-
128
- if (onlyGrade || noRewards) {
129
- return null;
130
- }
131
-
132
- return /*#__PURE__*/_react.default.createElement("div", {
133
- className: "test--results__rewards"
134
- }, /*#__PURE__*/_react.default.createElement("span", {
135
- onClick: onClickPrev,
136
- className: "icon-back ".concat(filteredRewardsUnified.length < 4 ? 'visibility--hidden' : '', " ").concat(offset <= 0 ? 'disabled' : '')
137
- }), /*#__PURE__*/_react.default.createElement("div", {
138
- ref: carouselContentRef,
139
- className: "test--results__carrousel"
140
- }, /*#__PURE__*/_react.default.createElement("div", {
141
- className: "test--results__carrousel--list test--results__centered",
142
- style: {
143
- transform: transform
144
- }
145
- }, filteredRewardsUnified.map(function (reward) {
146
- var group = indicators.find(function (g) {
147
- return g.type === reward.type;
148
- });
149
-
150
- if (!group) {
151
- return null;
152
- }
153
-
154
- var indicator = group.records.find(function (r) {
155
- return r.id === reward.id;
156
- });
157
-
158
- if (!indicator) {
159
- return null;
160
- }
161
-
162
- return /*#__PURE__*/_react.default.createElement("div", {
163
- key: indicator.name,
164
- ref: itemRef,
165
- className: "test--results__carrousel--item"
166
- }, /*#__PURE__*/_react.default.createElement("div", {
167
- className: "test--rewards__icons"
168
- }, /*#__PURE__*/_react.default.createElement("span", {
169
- className: indicator.icon
170
- }), /*#__PURE__*/_react.default.createElement("div", {
171
- className: "test--rewards__indicator\n ".concat(reward.points > 0 ? 'success' : 'failed')
172
- }, /*#__PURE__*/_react.default.createElement("span", {
173
- className: "".concat(reward.points > 0 ? 'icon-up' : 'icon-down')
174
- }))), /*#__PURE__*/_react.default.createElement("span", {
175
- className: "test--rewards__text"
176
- }, /*#__PURE__*/_react.default.createElement("b", null, reward.points > 0 ? '+' : '', reward.points), ":", indicator.name));
177
- }))), /*#__PURE__*/_react.default.createElement("span", {
178
- onClick: onClickNext,
179
- className: "icon-next ".concat(filteredRewardsUnified.length < 4 ? 'visibility--hidden' : '', " ").concat(itemsLeft <= 1 ? 'disabled' : '')
180
- }));
181
- };
182
-
183
- Rewards.defaultProps = {
184
- rewards: [],
185
- indicators: [],
186
- addPoints: function addPoints() {}
187
- };
188
- var _default = Rewards;
189
- exports.default = _default;