merchi_product_editor
Version:
A React component for editing product images using Fabric.js
36 lines (35 loc) • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useSwipeNavigate = void 0;
var react_1 = require("react");
var useSwipeNavigate = function (_a) {
var onSwipeLeft = _a.onSwipeLeft, onSwipeRight = _a.onSwipeRight, _b = _a.threshold, threshold = _b === void 0 ? 50 : _b;
var touchStartX = (0, react_1.useRef)(0);
var touchEndX = (0, react_1.useRef)(0);
var handleTouchStart = function (e) {
touchStartX.current = e.touches[0].clientX;
touchEndX.current = 0;
};
var handleTouchEnd = function (e) {
if (touchStartX.current === 0) {
return;
}
touchEndX.current = e.changedTouches[0].clientX;
var diff = touchStartX.current - touchEndX.current;
if (Math.abs(diff) > threshold) {
if (diff > 0) {
onSwipeLeft();
}
else {
onSwipeRight();
}
}
touchStartX.current = 0;
touchEndX.current = 0;
};
return {
onTouchStart: handleTouchStart,
onTouchEnd: handleTouchEnd,
};
};
exports.useSwipeNavigate = useSwipeNavigate;