@micromag/screen-game-sort 0.3.720 → 0.3.722

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.
Files changed (2) hide show
  1. package/es/index.js +24 -5
  2. package/package.json +2 -2
package/es/index.js CHANGED
@@ -133,7 +133,8 @@ var ShareScreen = function ShareScreen(_ref) {
133
133
  footerRef = _useDimensionObserver3.ref,
134
134
  _useDimensionObserver4 = _useDimensionObserver3.height,
135
135
  footerHeight = _useDimensionObserver4 === void 0 ? 0 : _useDimensionObserver4;
136
- useTrackScreenEvent('game-sort');
136
+ var trackingEnabled = isView;
137
+ var trackEvent = useTrackScreenEvent('game-sort');
137
138
  var _useState = useState(isView ? shuffle(items || []) : items || []),
138
139
  _useState2 = _slicedToArray(_useState, 2),
139
140
  sortedItems = _useState2[0],
@@ -260,6 +261,9 @@ var ShareScreen = function ShareScreen(_ref) {
260
261
  });
261
262
  var _newIndex = currentIndex === 0 ? sortedItems.length - 1 : currentIndex - 1;
262
263
  updateIndex(item, _newIndex);
264
+ if (trackingEnabled) {
265
+ trackEvent('tap', "item_".concat(itemIndex));
266
+ }
263
267
  return;
264
268
  }
265
269
  var sortedIndex = sortedItems.findIndex(function (it) {
@@ -300,6 +304,9 @@ var ShareScreen = function ShareScreen(_ref) {
300
304
  });
301
305
  } else {
302
306
  setSortedItems(sortedItemsRef.current);
307
+ if (trackingEnabled) {
308
+ trackEvent('drag', "item_".concat(itemIndex));
309
+ }
303
310
  // updateIndex(item, newIndex !== -1 ? newIndex : sortedIndex);
304
311
  }
305
312
  }, {
@@ -309,13 +316,23 @@ var ShareScreen = function ShareScreen(_ref) {
309
316
  enabled: dragEnabled
310
317
  });
311
318
  var onClickSubmit = useCallback(function () {
312
- setValidated(items.map(function (it, itemIndex) {
319
+ var newValidated = items.map(function (it, itemIndex) {
313
320
  var sortedIndex = sortedItems.findIndex(function (sortedItem) {
314
321
  return sortedItem === it;
315
322
  });
316
323
  return itemIndex === sortedIndex;
317
- }));
318
- }, [items, sortedItems]);
324
+ });
325
+ setValidated(newValidated);
326
+ var allValid = newValidated.reduce(function (acc, isValid) {
327
+ return acc && isValid;
328
+ }, true);
329
+ var invalidCount = newValidated.filter(function (isValid) {
330
+ return !isValid;
331
+ }).length;
332
+ if (trackingEnabled) {
333
+ trackEvent('submit', allValid ? 'valid' : "invalid_".concat(invalidCount));
334
+ }
335
+ }, [items, sortedItems, trackingEnabled, trackEvent]);
319
336
  useEffect(function () {
320
337
  if (validated === null) {
321
338
  return function () {};
@@ -407,7 +424,9 @@ var ShareScreen = function ShareScreen(_ref) {
407
424
  var isValid = validated !== null && validated[itemIndex];
408
425
  return /*#__PURE__*/React.createElement(animated.div, Object.assign({
409
426
  key: "button-".concat(itemIndex),
410
- className: classNames([styles.item, _defineProperty(_defineProperty(_defineProperty({}, styles.isEmpty, isEmpty), styles.valid, validated !== null && isValid), styles.invalid, validated !== null && !isValid)]),
427
+ className: classNames([styles.item, _defineProperty(_defineProperty(_defineProperty({
428
+ clickable: dragEnabled
429
+ }, styles.isEmpty, isEmpty), styles.valid, validated !== null && isValid), styles.invalid, validated !== null && !isValid)]),
411
430
  ref: function ref(_ref1) {
412
431
  elementsRef.current[itemIndex] = _ref1;
413
432
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/screen-game-sort",
3
- "version": "0.3.720",
3
+ "version": "0.3.722",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -87,5 +87,5 @@
87
87
  "access": "public",
88
88
  "registry": "https://registry.npmjs.org/"
89
89
  },
90
- "gitHead": "ed934ee1ce23cfdee83089f1cb4fffcb777381f0"
90
+ "gitHead": "fa2c1e03a2918d5df62b78d37fce47eac5b3bb8b"
91
91
  }