@gamelearn/arcade-components 1.4.0 → 1.4.2

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.
@@ -88,7 +88,7 @@ var DecisionBody = function DecisionBody(_ref) {
88
88
  type: "button",
89
89
  className: "gat--btn gat--btn__primary ".concat(selectedChoice.id !== undefined ? '' : 'disabled'),
90
90
  onClick: function onClick() {
91
- return canNext ? onNext(selectedChoice) : onBack();
91
+ return canNext ? onNext(selectedChoice) : onBack(selectedChoice);
92
92
  }
93
93
  }, canNext || selectedChoice.id === undefined ? translate('screens.continue') : translate('tests.retry'))));
94
94
  };
@@ -55,7 +55,7 @@ var DecisionComponent = function DecisionComponent(_ref) {
55
55
  inheritProps = _props$inheritProps === void 0 ? {} : _props$inheritProps,
56
56
  required = props.required,
57
57
  question = props.question,
58
- onFinish = props.onFinish;
58
+ _onFinish = props.onFinish;
59
59
  var inherited = Object.keys(inheritProps).length > 0;
60
60
 
61
61
  var _useState = (0, _react.useState)('options'),
@@ -115,39 +115,64 @@ var DecisionComponent = function DecisionComponent(_ref) {
115
115
  setResultChoice(option);
116
116
  selectView('options');
117
117
  },
118
- onBack: function onBack() {
118
+ onBack: function onBack(choice) {
119
119
  playSound('click-ui');
120
120
 
121
121
  if (failed) {
122
- setResultChoice({});
123
- selectView('options');
122
+ emitEvent({
123
+ type: 'addPoints',
124
+ payload: choice.rewards,
125
+ finish: false,
126
+ complex: true,
127
+ onFinish: function onFinish() {
128
+ setResultChoice({});
129
+ selectView('options');
130
+ }
131
+ });
124
132
  }
125
133
  },
126
134
  onNext: function onNext(choice) {
127
135
  playSound('click-ui');
128
136
 
129
137
  if (!failed && selectedView === 'results') {
130
- setResultChoice({});
131
- selectView('options');
132
- emitEvent({
133
- type: 'addPoints',
134
- payload: choice.rewards,
135
- finish: true,
136
- complex: true,
137
- onFinish: onFinish
138
- });
139
- } else if (Object.keys(choice).length > 0) {
140
- if (choice.right) {
141
- playSound('score');
138
+ if (inherited) {
139
+ emitEvent({
140
+ type: 'addPoints',
141
+ payload: choice.rewards,
142
+ finish: true,
143
+ complex: true,
144
+ onFinish: function onFinish() {
145
+ if (_onFinish) {
146
+ _onFinish();
147
+ }
148
+
149
+ setResultChoice({});
150
+ selectView('options');
151
+ }
152
+ });
142
153
  } else {
143
- playSound('fail');
144
154
  emitEvent({
145
155
  type: 'addPoints',
146
156
  payload: choice.rewards,
147
- finish: false,
157
+ finish: true,
148
158
  complex: true
149
159
  });
150
160
  }
161
+ } else if (Object.keys(choice).length > 0) {
162
+ if (choice.right) {
163
+ playSound('score');
164
+ } else {
165
+ playSound('fail');
166
+
167
+ if (!required || inherited) {
168
+ emitEvent({
169
+ type: 'addPoints',
170
+ payload: choice.rewards,
171
+ finish: false,
172
+ complex: true
173
+ });
174
+ }
175
+ }
151
176
 
152
177
  setResultChoice(choice);
153
178
  playCurrentAudio(choice);
@@ -53,6 +53,11 @@ var StepOne = function StepOne(_ref) {
53
53
  emailWithErrors = _useState4[0],
54
54
  setEmailWithErrors = _useState4[1];
55
55
 
56
+ var _useState5 = (0, _react.useState)(0),
57
+ _useState6 = _slicedToArray(_useState5, 2),
58
+ emailsRepeated = _useState6[0],
59
+ setEmailsRepeated = _useState6[1];
60
+
56
61
  var emailRef = (0, _react.useRef)(null);
57
62
 
58
63
  var deleteItem = function deleteItem(e, itemToRemove, emailPillIndex) {
@@ -64,6 +69,10 @@ var StepOne = function StepOne(_ref) {
64
69
  if (itemToRemove.error) {
65
70
  setEmailWithErrors(emailWithErrors - 1);
66
71
  }
72
+
73
+ if (itemToRemove.isRepeat) {
74
+ setEmailsRepeated(emailsRepeated - 1);
75
+ }
67
76
  };
68
77
 
69
78
  var focusInInput = function focusInInput() {
@@ -95,11 +104,12 @@ var StepOne = function StepOne(_ref) {
95
104
  if (emailsPills.find(function (item) {
96
105
  return item.text === inputValue;
97
106
  })) {
107
+ setEmailsRepeated(emailsRepeated + 1);
98
108
  setEmailsPills([].concat(_toConsumableArray(emailsPills), [{
99
109
  text: inputValue,
100
- error: true
110
+ error: true,
111
+ isRepeat: true
101
112
  }]));
102
- setEmailWithErrors(emailWithErrors + 1);
103
113
  } else {
104
114
  setEmailsPills([].concat(_toConsumableArray(emailsPills), [{
105
115
  text: inputValue
@@ -153,7 +163,7 @@ var StepOne = function StepOne(_ref) {
153
163
  className: "referrals-piece__footervalidation"
154
164
  }, /*#__PURE__*/_react.default.createElement("div", {
155
165
  className: "referrals-piece__errormessage"
156
- }, emailWithErrors > 0 ? translate('puzzles.referrals.inviter.errorMessage') : null), /*#__PURE__*/_react.default.createElement("div", {
166
+ }, /*#__PURE__*/_react.default.createElement("div", null, emailsRepeated > 0 ? translate('puzzles.referrals.inviter.errorEmailRepeat') : null), /*#__PURE__*/_react.default.createElement("div", null, emailWithErrors > 0 ? translate('puzzles.referrals.inviter.errorMessage') : null)), /*#__PURE__*/_react.default.createElement("div", {
157
167
  className: "referrals-piece__counter",
158
168
  "data-testid": "pillcounter"
159
169
  }, emailsPills.length, "/10")))), /*#__PURE__*/_react.default.createElement("div", {
@@ -163,7 +173,7 @@ var StepOne = function StepOne(_ref) {
163
173
  type: "button",
164
174
  onClick: handleCancel
165
175
  }, translate('puzzles.referrals.inviter.skipButton')), /*#__PURE__*/_react.default.createElement("button", {
166
- className: "gat--btn gat--btn__primary ".concat(emailWithErrors > 0 || emailsPills.length === 0 ? ' disabled' : ''),
176
+ className: "gat--btn gat--btn__primary ".concat(emailsRepeated > 0 || emailWithErrors > 0 || emailsPills.length === 0 ? ' disabled' : ''),
167
177
  type: "button",
168
178
  disabled: emailWithErrors > 0 || emailsPills.length === 0,
169
179
  onClick: function onClick() {
@@ -48,9 +48,9 @@ var StepTwo = function StepTwo(_ref) {
48
48
  className: "referrals-piece__title"
49
49
  }, translate('puzzles.referrals.inviter.titleStep2')), /*#__PURE__*/_react.default.createElement("ul", {
50
50
  className: "referrals-piece__feedback"
51
- }, valid.current && /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("div", {
51
+ }, !!valid.current && /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("div", {
52
52
  className: "referrals-piece__feedbackicon icon-check-circle-black color--success"
53
- }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, valid.current), " ", translate("puzzles.referrals.inviter.".concat(validLabel)))), invalid.current && /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("div", {
53
+ }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, valid.current), " ", translate("puzzles.referrals.inviter.".concat(validLabel)))), !!invalid.current && /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement("div", {
54
54
  className: "referrals-piece__feedbackicon icon-error-circle-black color--error"
55
55
  }), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("strong", null, invalid.current), " ", translate("puzzles.referrals.inviter.".concat(notValidLabel))), /*#__PURE__*/_react.default.createElement("button", {
56
56
  className: "un-button",
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.0",
5
+ "version": "1.4.2",
6
6
  "main": "dist/index.js",
7
7
  "files": [
8
8
  "dist",
@@ -65,7 +65,7 @@
65
65
  "@babel/eslint-parser": "^7.15.8",
66
66
  "@babel/preset-env": "7.12.11",
67
67
  "@babel/preset-react": "7.12.10",
68
- "@gamelearn/arcade-styles": "0.5.2",
68
+ "@gamelearn/arcade-styles": "0.5.5",
69
69
  "@react-three/test-renderer": "6.0.6",
70
70
  "@storybook/addon-actions": "6.1.11",
71
71
  "@storybook/addon-essentials": "6.1.11",