diff --git a/web/pages/components/connected-clients.tsx b/web/pages/components/connected-clients.tsx new file mode 100644 index 000000000..4261949e1 --- /dev/null +++ b/web/pages/components/connected-clients.tsx @@ -0,0 +1,39 @@ +import React, { useState, useEffect } from 'react'; +import { CONNECTED_CLIENTS, fetchData, FETCH_INTERVAL } from '../utils/apis'; + +export default function HardwareInfo() { + const [clients, setClients] = useState({}); + + const getInfo = async () => { + try { + const result = await fetchData(CONNECTED_CLIENTS); + console.log("viewers result", result) + + setClients({ ...result }); + + } catch (error) { + setClients({ ...clients, message: error.message }); + } + }; + + useEffect(() => { + let getStatusIntervalId = null; + + getInfo(); + getStatusIntervalId = setInterval(getInfo, FETCH_INTERVAL); + + // returned function will be called on component unmount + return () => { + clearInterval(getStatusIntervalId); + } + }, []); + + return ( +
(these dont do anything yet)
+ {disconnectButton} diff --git a/web/pages/utils/apis.ts b/web/pages/utils/apis.ts index af85c89bc..891ad6b64 100644 --- a/web/pages/utils/apis.ts +++ b/web/pages/utils/apis.ts @@ -22,6 +22,10 @@ export const SERVER_CONFIG = `${API_LOCATION}serverconfig`; // Get viewer count over time export const VIEWERS_OVER_TIME = `${API_LOCATION}viewersOverTime`; +// Get currently connected clients +export const CONNECTED_CLIENTS = `${API_LOCATION}clients`; + + // Get hardware stats export const HARDWARE_STATS = `${API_LOCATION}hardwarestats`;