Files
traque/mobile/traque-app/hook/useGame.jsx
2026-02-18 00:38:10 +01:00

28 lines
774 B
JavaScript

// React
import { useCallback } from "react";
// Services
import { emitSendPosition, emitCapture } from "../services/socketEmitter";
export const useGame = () => {
const sendCurrentPosition = useCallback(() => {
emitSendPosition();
}, []);
const capture = useCallback((captureCode) => {
return new Promise((resolve, reject) => {
const timeout = setTimeout(() => {
console.warn("Server timeout: capture", captureCode);
reject(new Error("Timeout"));
}, 3000);
emitCapture(captureCode, (response) => {
clearTimeout(timeout);
resolve(response);
});
});
}, []);
return { sendCurrentPosition, capture };
};