@gamelearn/arcade-components 1.4.15 → 1.4.17

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.
@@ -9,8 +9,6 @@ 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 _Card = _interopRequireDefault(require("../Card"));
15
13
 
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -47,7 +45,8 @@ var Board = function Board(_ref) {
47
45
  endPuzzle = _ref.endPuzzle,
48
46
  feedbackIsShown = _ref.feedbackIsShown,
49
47
  resolvePuzzle = _ref.resolvePuzzle,
50
- soundActions = _ref.soundActions;
48
+ soundActions = _ref.soundActions,
49
+ handleSuccess = _ref.handleSuccess;
51
50
 
52
51
  var _useState = (0, _react.useState)(_toConsumableArray(Array(cards.length)).fill(false)),
53
52
  _useState2 = _slicedToArray(_useState, 2),
@@ -117,10 +116,10 @@ var Board = function Board(_ref) {
117
116
 
118
117
  var handleCorrect = function handleCorrect(index) {
119
118
  flipACard(index);
119
+ handleSuccess(cards[index].id || null);
120
120
  setCorrectCards(correctCards + 1);
121
121
 
122
122
  if (correctCards === numberOfCorrectCards) {
123
- // random click, we check if correct if not reset
124
123
  endPuzzle();
125
124
  }
126
125
  };
@@ -148,8 +147,10 @@ var Board = function Board(_ref) {
148
147
  flipACard(index);
149
148
  }
150
149
  } else {
150
+ var _cards$index;
151
+
151
152
  // fails and resets
152
- handleError();
153
+ handleError(((_cards$index = cards[index]) === null || _cards$index === void 0 ? void 0 : _cards$index.id) || null);
153
154
  flipACard(index);
154
155
  timedFlipped();
155
156
  }
@@ -177,21 +178,12 @@ Board.defaultProps = {
177
178
  setCurrentOrder: function setCurrentOrder() {},
178
179
  handleError: function handleError() {},
179
180
  endPuzzle: function endPuzzle() {},
181
+ handleSuccess: function handleSuccess() {},
180
182
  documentsDict: {},
181
183
  cards: [],
182
184
  currentOrder: 1,
183
185
  resolvePuzzle: false,
184
186
  feedbackIsShown: false
185
187
  };
186
- Board.propTypes = {
187
- endPuzzle: _propTypes.default.func,
188
- handleError: _propTypes.default.func,
189
- feedbackIsShown: _propTypes.default.bool,
190
- resolvePuzzle: _propTypes.default.bool,
191
- currentOrder: _propTypes.default.number,
192
- documentsDict: _propTypes.default.shape({}),
193
- setCurrentOrder: _propTypes.default.func,
194
- cards: _propTypes.default.arrayOf(_propTypes.default.shape)
195
- };
196
188
  var _default = Board;
197
189
  exports.default = _default;
@@ -43,6 +43,7 @@ var CardsSelectorPuzzleComponent = function CardsSelectorPuzzleComponent(_ref) {
43
43
  var emitEvent = _ref.emitEvent,
44
44
  info = _ref.info,
45
45
  cards = _ref.cards,
46
+ specificFeedbacks = _ref.specificFeedbacks,
46
47
  disableExit = _ref.disableExit,
47
48
  setResolveAction = _ref.setResolveAction,
48
49
  soundActions = _ref.soundActions,
@@ -65,23 +66,28 @@ var CardsSelectorPuzzleComponent = function CardsSelectorPuzzleComponent(_ref) {
65
66
 
66
67
  var _useState7 = (0, _react.useState)(false),
67
68
  _useState8 = _slicedToArray(_useState7, 2),
68
- feedbackIsShown = _useState8[0],
69
- setFeedbackIsShown = _useState8[1];
69
+ rightPick = _useState8[0],
70
+ setRightPick = _useState8[1];
70
71
 
71
- var _useState9 = (0, _react.useState)([]),
72
+ var _useState9 = (0, _react.useState)(false),
72
73
  _useState10 = _slicedToArray(_useState9, 2),
73
- accRewards = _useState10[0],
74
- setRewards = _useState10[1];
74
+ feedbackIsShown = _useState10[0],
75
+ setFeedbackIsShown = _useState10[1];
75
76
 
76
- var _useState11 = (0, _react.useState)(false),
77
+ var _useState11 = (0, _react.useState)([]),
77
78
  _useState12 = _slicedToArray(_useState11, 2),
78
- resolvePuzzle = _useState12[0],
79
- setResolvePuzzle = _useState12[1];
79
+ accRewards = _useState12[0],
80
+ setRewards = _useState12[1];
80
81
 
81
- var _useState13 = (0, _react.useState)(''),
82
+ var _useState13 = (0, _react.useState)(false),
82
83
  _useState14 = _slicedToArray(_useState13, 2),
83
- feedBackText = _useState14[0],
84
- setFeedBackText = _useState14[1];
84
+ resolvePuzzle = _useState14[0],
85
+ setResolvePuzzle = _useState14[1];
86
+
87
+ var _useState15 = (0, _react.useState)(''),
88
+ _useState16 = _slicedToArray(_useState15, 2),
89
+ feedBackText = _useState16[0],
90
+ setFeedBackText = _useState16[1];
85
91
 
86
92
  var _soundActions = _slicedToArray(soundActions, 1),
87
93
  playSound = _soundActions[0];
@@ -108,7 +114,7 @@ var CardsSelectorPuzzleComponent = function CardsSelectorPuzzleComponent(_ref) {
108
114
  });
109
115
  }, [emitEvent]);
110
116
 
111
- var _endPuzzle = function endPuzzle() {
117
+ var endPuzzle = function endPuzzle() {
112
118
  emitEvent({
113
119
  type: 'hidePuzzleButtons',
114
120
  payload: true
@@ -151,9 +157,34 @@ var CardsSelectorPuzzleComponent = function CardsSelectorPuzzleComponent(_ref) {
151
157
  setFeedBackText('');
152
158
  };
153
159
 
154
- var _handleError = function handleError() {
155
- // si hay feedback definido
156
- if (info.solution.wrong.desc) {
160
+ var handleSuccessPick = function handleSuccessPick(cardId) {
161
+ if (specificFeedbacks !== null && specificFeedbacks !== void 0 && specificFeedbacks.specificCorrectFeedbacks) {
162
+ var pickedCard = specificFeedbacks.correctFeedbacks.find(function (greenCard) {
163
+ return greenCard.id === cardId;
164
+ });
165
+ setFeedBackText(pickedCard.desc);
166
+ setRightPick(true);
167
+ setFeedbackIsShown(true);
168
+ setRewards([].concat(_toConsumableArray(accRewards), [pickedCard === null || pickedCard === void 0 ? void 0 : pickedCard.rewards]));
169
+ emitEvent({
170
+ type: 'hidePuzzleButtons',
171
+ payload: true
172
+ });
173
+ }
174
+ };
175
+
176
+ var handleError = function handleError(cardId) {
177
+ // si hay feedback específico
178
+ if (specificFeedbacks !== null && specificFeedbacks !== void 0 && specificFeedbacks.specificWrongFeedbacks) {
179
+ var failedCard = specificFeedbacks.wrongFeedbacks.find(function (redCard) {
180
+ return redCard.id === cardId;
181
+ });
182
+ setRightPick(false);
183
+ setFeedBackText(failedCard.desc);
184
+ setFeedbackIsShown(true);
185
+ setRewards([].concat(_toConsumableArray(accRewards), [failedCard === null || failedCard === void 0 ? void 0 : failedCard.rewards]));
186
+ } // si hay feedback definido
187
+ else if (info.solution.wrong.desc) {
157
188
  setFeedBackText(info.solution.wrong.desc);
158
189
  setFeedbackIsShown(true);
159
190
  } // si no hay feedback definido, se muestra feedback por defecto
@@ -169,7 +200,11 @@ var CardsSelectorPuzzleComponent = function CardsSelectorPuzzleComponent(_ref) {
169
200
  }
170
201
 
171
202
  disableExit(true);
172
- setRewards([].concat(_toConsumableArray(accRewards), _toConsumableArray(info.solution.wrong.rewards)));
203
+
204
+ if (!(specificFeedbacks !== null && specificFeedbacks !== void 0 && specificFeedbacks.specificWrongFeedbacks)) {
205
+ setRewards([].concat(_toConsumableArray(accRewards), _toConsumableArray(info.solution.wrong.rewards)));
206
+ }
207
+
173
208
  playSound('fail');
174
209
  emitEvent({
175
210
  type: 'hidePuzzleButtons',
@@ -204,18 +239,14 @@ var CardsSelectorPuzzleComponent = function CardsSelectorPuzzleComponent(_ref) {
204
239
  setCurrentOrder: setCurrentOrder,
205
240
  currentOrder: currentOrder,
206
241
  cards: cards,
207
- endPuzzle: function endPuzzle() {
208
- return _endPuzzle();
209
- },
210
- handleError: function handleError() {
211
- return _handleError();
212
- },
242
+ endPuzzle: endPuzzle,
243
+ handleError: handleError,
213
244
  feedbackIsShown: feedbackIsShown,
214
245
  resolvePuzzle: resolvePuzzle,
215
- soundActions: soundActions
246
+ soundActions: soundActions,
247
+ handleSuccess: handleSuccessPick
216
248
  })), feedbackIsShown && /*#__PURE__*/_react.default.createElement(_feedbackComponent.default, {
217
- playSound: playSound,
218
- success: feedbackResult,
249
+ success: feedbackResult || rightPick,
219
250
  text: feedBackText,
220
251
  translate: translate,
221
252
  functionOnClose: handleFeedbackFuncionOnClose
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.mockProps5 = exports.mockProps4 = exports.mockProps3 = exports.mockProps2 = exports.mockProps = void 0;
6
+ exports.mockProps6 = exports.mockProps5 = exports.mockProps4 = exports.mockProps3 = exports.mockProps2 = exports.mockProps = void 0;
7
7
 
8
8
  var _mocker = require("helpers/mocker");
9
9
 
@@ -352,4 +352,97 @@ var mockProps5 = _objectSpread(_objectSpread({}, mockProps), {}, {
352
352
  }
353
353
  });
354
354
 
355
- exports.mockProps5 = mockProps5;
355
+ exports.mockProps5 = mockProps5;
356
+
357
+ var mockProps6 = _objectSpread(_objectSpread({}, mockProps), {}, {
358
+ cards: [{
359
+ id: 'bCPlOr',
360
+ text: 'si ',
361
+ correct: true,
362
+ text_labelId: 'text_0_nV3LRBvB',
363
+ imgId: '',
364
+ img: null,
365
+ imgId_labelId: 'imgId_0_nV3LR0tI'
366
+ }, {
367
+ id: 'RlcXAh',
368
+ text: 'no',
369
+ correct: false,
370
+ text_labelId: 'text_1_nV3LReKp',
371
+ imgId: '',
372
+ img: null,
373
+ imgId_labelId: 'imgId_1_nV3LRPvU'
374
+ }, {
375
+ id: 'SBhcdU',
376
+ correct: true,
377
+ text: 'tambien',
378
+ text_labelId: 'text_2_nV3LROGC',
379
+ imgId: '',
380
+ img: null,
381
+ imgId_labelId: 'imgId_2_nV3LRelK'
382
+ }, {
383
+ id: 'Sgcqps',
384
+ text: 'tampoco',
385
+ correct: false,
386
+ text_labelId: 'text_3_nV3LRx2G',
387
+ imgId: '',
388
+ img: null,
389
+ imgId_labelId: 'imgId_3_nV3LSvEZ'
390
+ }],
391
+ info: {
392
+ solution: {
393
+ right: {
394
+ desc: '',
395
+ rewards: [],
396
+ desc_labelId: 'desc_nV3LRHVB'
397
+ },
398
+ wrong: {
399
+ desc: '',
400
+ rewards: [],
401
+ desc_labelId: 'desc_nV3LR5vi'
402
+ }
403
+ },
404
+ hint: {
405
+ active: false,
406
+ desc: '',
407
+ rewards: [],
408
+ desc_labelId: 'desc_nV3LQH3e'
409
+ },
410
+ resolve: {
411
+ rewards: []
412
+ },
413
+ description: 'chimo',
414
+ description_labelId: 'description_nV3LQVvh',
415
+ title: '',
416
+ title_labelId: 'title_nV3LQuNg',
417
+ instructions: '',
418
+ instructions_labelId: 'instructions_nV3LQPBH'
419
+ },
420
+ specificFeedbacks: {
421
+ correctFeedbacks: [{
422
+ id: 'bCPlOr',
423
+ text: 'si ',
424
+ desc: 'esta si',
425
+ rewards: []
426
+ }, {
427
+ id: 'SBhcdU',
428
+ text: 'tambien',
429
+ desc: 'esta me gusta',
430
+ rewards: []
431
+ }],
432
+ wrongFeedbacks: [{
433
+ id: 'RlcXAh',
434
+ text: 'no',
435
+ desc: 'esta no',
436
+ rewards: []
437
+ }, {
438
+ id: 'Sgcqps',
439
+ text: 'tampoco',
440
+ desc: 'me voy de baretas',
441
+ rewards: []
442
+ }],
443
+ specificCorrectFeedbacks: true,
444
+ specificWrongFeedbacks: true
445
+ }
446
+ });
447
+
448
+ exports.mockProps6 = mockProps6;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@gamelearn/arcade-components",
3
3
  "author": "Gamelearn",
4
4
  "license": "unlicense",
5
- "version": "1.4.15",
5
+ "version": "1.4.17",
6
6
  "main": "dist/index.js",
7
7
  "files": [
8
8
  "dist",