sticky-horse
Version:
With StickyHorse allow your users to send feedback to your team.
30 lines (29 loc) • 1.15 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.useCursorTracking = void 0;
var react_1 = require("react");
var socket_1 = require("../utils/socket");
var useCursorTracking = function (userId) {
var socket = (0, socket_1.getSocket)();
(0, react_1.useEffect)(function () {
if (!socket)
return;
var handleMouseMove = function (e) {
var cursor = {
x: e.clientX + window.scrollX,
y: e.clientY + window.scrollY
};
var trackingData = localStorage.getItem('sticky_horse_tracking');
var isAdmin = trackingData ? JSON.parse(trackingData).isAdmin : false;
socket.emit('cursor_move', {
userId: userId,
cursor: cursor,
page: window.location.pathname,
isAdmin: isAdmin
});
};
window.addEventListener('mousemove', handleMouseMove);
return function () { return window.removeEventListener('mousemove', handleMouseMove); };
}, [socket, userId]);
};
exports.useCursorTracking = useCursorTracking;
;