diff --git a/agent/agentUi/src/AgentUi.jsx b/agent/agentUi/src/AgentUi.jsx index 1787ebfb..9eae241f 100644 --- a/agent/agentUi/src/AgentUi.jsx +++ b/agent/agentUi/src/AgentUi.jsx @@ -6,6 +6,8 @@ import {AgentApi, ApiClient} from "./api/src/index.js"; const AgentUi = (props) => { const [version, setVersion] = useState(""); + const [shares, setShares] = useState([]); + const [accesses, setAccesses] = useState([]); let api = new AgentApi(new ApiClient(window.location.protocol+'//'+window.location.host)); @@ -18,14 +20,30 @@ const AgentUi = (props) => { }); }, []); + useEffect(() => { + let mounted = true; + let interval = setInterval(() => { + api.agentStatus((err, data) => { + if(mounted) { + setShares(data.shares); + setAccesses(data.accesses); + } + }); + }, 1000); + return () => { + mounted = false; + clearInterval(interval); + } + }); + const router = createBrowserRouter([ { path: "/", - element: + element: }, { path: "/share/:token", - element: + element: } ]); diff --git a/agent/agentUi/src/Overview.jsx b/agent/agentUi/src/Overview.jsx index 1104b2bf..8ffe0c8a 100644 --- a/agent/agentUi/src/Overview.jsx +++ b/agent/agentUi/src/Overview.jsx @@ -1,17 +1,12 @@ import "bootstrap/dist/css/bootstrap.min.css"; -import {useEffect, useState} from "react"; -import {AgentApi, ApiClient} from "./api/src/index.js"; import DataTable from "react-data-table-component"; import NavBar from "./NavBar.jsx"; const Overview = (props) => { - const [shares, setShares] = useState([]); - const [accesses, setAccesses] = useState([]); - const shareColumns = [ { name: 'Token', - selector: row => row.reserved ? row.token+' (reserved)' : row.token + selector: row => {row.token} }, { name: 'Share Mode', @@ -47,42 +42,24 @@ const Overview = (props) => { }, ]; - let api = new AgentApi(new ApiClient(window.location.protocol+'//'+window.location.host)); - - useEffect(() => { - let mounted = true; - let interval = setInterval(() => { - api.agentStatus((err, data) => { - if(mounted) { - setShares(data.shares); - setAccesses(data.accesses); - } - }); - }, 1000); - return () => { - mounted = false; - clearInterval(interval); - } - }); - return ( <> -
+

Shares

} />
-
+

Accesses

} />