diff --git a/backend/services/member.js b/backend/services/member.js index ef2cd50..47573f3 100644 --- a/backend/services/member.js +++ b/backend/services/member.js @@ -37,13 +37,21 @@ async function getMemberAdditionalData(data) { let peerData = {}; if (peer) { peerData.latency = peer.latency; - peerData.online = peer.latency !== -1; + if (peer.latency !== -1) + peerData.online = 1; + if (peer.latency == -1) + peerData.online = 2; peerData.clientVersion = peer.version; if (peer.paths[0]) { peerData.lastOnline = peer.paths[0].lastReceive; peerData.physicalAddress = peer.paths[0].address.split("/")[0]; + peerData.physicalPort = peer.paths[0].address.split("/")[1]; } } + else + { + peerData.online = 0; + } delete data.lastAuthorizedCredential; delete data.lastAuthorizedCredentialType; diff --git a/frontend/src/components/NetworkMembers/NetworkMembers.jsx b/frontend/src/components/NetworkMembers/NetworkMembers.jsx index 3f1d368..87188ea 100644 --- a/frontend/src/components/NetworkMembers/NetworkMembers.jsx +++ b/frontend/src/components/NetworkMembers/NetworkMembers.jsx @@ -101,19 +101,46 @@ function NetworkMembers({ network }) { name: "Peer status", minWidth: "100px", cell: (row) => - row.online ? ( - - {"ONLINE (v" + - row.config.vMajor + - "." + - row.config.vMinor + - "." + - row.config.vRev + - ")"} - - ) : ( + (row.online === 0) ? ( OFFLINE - ), + ) : ( (row.online === 1) ? ( + + + {"ONLINE (v" + + row.config.vMajor + + "." + + row.config.vMinor + + "." + + row.config.vRev + + ")"} + + ) : ( + + {"RELAYED (v" + + row.config.vMajor + + "." + + row.config.vMinor + + "." + + row.config.vRev + + ")"} + + )), + }, + { + id: "physicalip", + name: "Physical IP / Latency", + minWidth: "220px", + cell: (row) => + (row.online === 1) ? ( +

+ {row.physicalAddress + + "/" + + row.physicalPort}
{ + "(" + + row.latency + + " ms)"} +

+ ) : (""), }, { id: "delete",