- added digital zoom functionality on fixed location via web sockets

This commit is contained in:
2025-12-10 10:30:32 +00:00
parent c73c5f4187
commit 0ff43d975d
7 changed files with 96 additions and 4 deletions

View File

@@ -10,7 +10,11 @@ type WebSocketProviderProps = {
export const WebSocketProvider = ({ children }: WebSocketProviderProps) => {
const [systemData, setSystemData] = useState<InfoBarData | null>(null);
const infoSocket = useWebSocket(wsConfig.infoBar, { share: true, shouldReconnect: () => true });
const cameraFeedASocket = useWebSocket(wsConfig.cameraFeedA, { share: true, shouldReconnect: () => true });
const cameraFeedBSocket = useWebSocket(wsConfig.cameraFeedB, { share: true, shouldReconnect: () => true });
const cameraFeedCSocket = useWebSocket(wsConfig.cameraFeedC, { share: true, shouldReconnect: () => true });
useEffect(() => {
async function parseData() {
@@ -30,8 +34,36 @@ export const WebSocketProvider = ({ children }: WebSocketProviderProps) => {
readyState: infoSocket.readyState,
sendJson: infoSocket.sendJsonMessage,
},
cameraFeedA: {
data: null,
readyState: cameraFeedASocket.readyState,
send: cameraFeedASocket.sendMessage,
},
cameraFeedB: {
data: null,
readyState: cameraFeedBSocket.readyState,
send: cameraFeedBSocket.sendMessage,
},
cameraFeedC: {
data: null,
readyState: cameraFeedCSocket.readyState,
send: cameraFeedCSocket.sendMessage,
},
}),
[infoSocket.readyState, infoSocket.sendJsonMessage, systemData],
[
cameraFeedASocket.readyState,
cameraFeedASocket.sendMessage,
cameraFeedBSocket.readyState,
cameraFeedBSocket.sendMessage,
cameraFeedCSocket.readyState,
cameraFeedCSocket.sendMessage,
infoSocket.readyState,
infoSocket.sendJsonMessage,
systemData,
],
);
return <WebsocketContext.Provider value={value}>{children}</WebsocketContext.Provider>;