spectation

This commit is contained in:
legop3
2025-11-15 05:04:25 -05:00
parent b242ecf5ac
commit 50c56e7271
14 changed files with 321 additions and 23 deletions
+29
View File
@@ -0,0 +1,29 @@
import { useEffect, useState } from 'react';
import { useSocket } from '../context/SocketContext.jsx';
export function useVideoRequests(roverIds = []) {
const socket = useSocket();
const [sources, setSources] = useState({});
useEffect(() => {
const ids = Array.from(new Set(roverIds.filter(Boolean)));
if (!ids.length) return;
let cancelled = false;
ids.forEach((roverId) => {
socket.emit('video:request', { roverId }, (resp = {}) => {
if (cancelled) return;
setSources((prev) => ({
...prev,
[roverId]: resp,
}));
});
});
return () => {
cancelled = true;
};
}, [socket, roverIds.join('|')]);
return sources;
}